Я хочу сделать, гдеIn с закрытием. Это возможно?Красноречивый гдеIn с закрытием
Как правило, вы бы пойти и создать его как этот
return User::whereIn('id', [1, 2, 3])
->whereLang($channel)
->get();
Но то, что я хотел сделать, это сделать его с закрытием - если это возможно. У меня есть поле базы данных, в котором есть идентификаторы пользователей в виде строки (дизайн таблицы не мой, поэтому я не могу изменить его в настоящее время и работать с ним);
Так что я попытался сделать это, как этот
return User::whereIn('id', function() {
return FooBar::whereFooId('u' . $user->id)->get(['users'])->toArray();
})
->whereLang($lang)
->get();
Однако, когда делать это, я получаю ошибку
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1096 No tables used'
я имею в виду, в таблице базы данных у меня есть строка с идентификаторы хранятся как 1, 2, 3, 4
, поэтому мне просто нужно сделать explode(', ', $ids);
. Это решит мою проблему, когда я сделаю это в два этапа, мне просто интересно, смогу ли я сделать это в одном, с закрытием. И если да, то как?
Вы с помощью '$ user-> id' внутри закрытия, но вы не передавая' переменную $ user' в закрытие с помощью функции function() ($ user) '. Как это не бросает ошибку раньше всего? – Bogdan
Эх, похоже, ошибка c & p – Musterknabe