Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

Doctrine ORM findOneBy как будет в IPS?

Recommended Posts

Здравствуйте. Переношу потихоньку функционал движка на Doctrine ORM в виде модуля IPS. Там есть такая строчка:

 

$dbPlayer = $em->getRepository('StatsBundle:StatsGameplayerScored')->findOneBy(['name' => $p['name'], 'server' => $p['spoofedrealm']]);

 

Понятно, подгружается файл с функциями и используется метод выборки по имени и серверу. Как такое будет в IPS?

 

Правильно?

 

$dbPlayer = \IPS\sharedstats\Entity\StatsGameplayerScored::load(['name' => $p['name'], 'server' => $p['spoofedrealm']]);

Share this post


Link to post
$dbPlayer = \IPS\sharedstats\Entity\StatsGameplayerScored::constructFromData($db->select('*', \IPS\sharedstats\Entity\StatsGameplayerScored::$databaseTable, (['name=? AND server=?', $p['name'], $p['spoofedrealm']]))->first());

Share this post


Link to post

Понял, нужно подгрузить \IPS\Content\Controller а как? Мне в Task надо class _heroesScore extends \IPS\Task

Share this post


Link to post

Не отображается скриншот.

 

нужно подгрузить \IPS\Content\Controller а как?

На кой он там нужен?

Share this post


Link to post

У меня ошибка:

 

Error

Call to undefined method IPS\sharedstats\Entity\StatsGameplayerScored::constructFromData()

 

Что-то ну, скриншоты не грузит.

Share this post


Link to post

Что за класс \IPS\sharedstats\Entity\StatsGameplayerScored?

Share this post


Link to post

Функции в нем с другого движка, но из-за них не может быть такой ошибки, они еще нигде не используются.

StatsGameplayerScored.php

Share this post


Link to post

Чтобы работало, нужно

class _StatsGameplayerScored extends \IPS\Patterns\ActiveRecord

  • Upvote 1

Share this post


Link to post

Блин, точно. Спасибо.

Share this post


Link to post

Undefined offset: 0

 

Это я так понимаю не может выбрать тут что-то? (['name' => $p['name'], 'server' => $p['spoofedrealm']])

Share this post


Link to post

Ой, это же стандартный select, я уже разобрался как с ним работать, поэтому переделал, вроде правильно:

 

$dbPlayer = \IPS\sharedstats\Entity\StatsGameplayerScored::constructFromData($db->select('*', \IPS\sharedstats\Entity\StatsGameplayerScored::$databaseTable, (['name=? AND server=?', $p['name'], $p['spoofedrealm']]))->first());

Share this post


Link to post

Ой, это же стандартный select, я уже разобрался как с ним работать, поэтому переделал, вроде правильно:

 

Да это я скопировал с Вашего кода "where" и забыл исправил.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...