Красноречивый, не выбирая строки - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь получить некоторые данные из моей базы данных MySQL, но она не работает с помощью Eloquent (я получаю 0 строк). Я очень простой запрос, но он сводит меня с ума.

Это запрос в PHP:

$slideshowIdList = Media_slideshow::select('idSlideshow')
                                    ->whereIn('idMedia',$idList)
                                    ->groupBy('idSlideshow')
                                    ->get()
                                    ->toArray();

Laravel. Журнал запросов показывает, что запрос, который я хотел сделать, в порядке:

Array
(
    [0] => Array
        (
            [query] => select `idSlideshow` from `media_slideshow` where `idMedia` in (?) group by `idSlideshow`
            [bindings] => Array
                (
                    [0] => 11
                )

            [time] => 0.49
        )

)

И это тот же самый запрос , показывающий результаты в Phpmyadmin :

enter image description here

Модель Media_slideshow :

class Media_slideshow extends Model
{

    private $idMedia;
    private $idSlideshow;
    protected $table = "media_slideshow";


}

Я что-то упустил?

ОБНОВЛЕНИЕ: Жесткое кодирование второго параметра в ->whereIn() работает. Любая подсказка?

->whereIn('idMedia',[11])

Ответы [ 2 ]

0 голосов
/ 08 февраля 2020

Неправильный формат вашего массива $idList. Попробуйте напечатать это как предложено. См. Мой комментарий выше.

0 голосов
/ 08 февраля 2020

Попробуйте это:

$slideshowIdList = Media_slideshow::whereIn('idMedia', $idList)
                                ->groupBy('idSlideshow')
                                ->value('idSlideshow');
$slideshowIdList = $slideshowIdList->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...