Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 06.03.2021 12:28:05

Подключить модель в цыкле

Добрый день.
Как в цыкле можно подключить модель? А именно хочу написать что-то подобное:

foreach($tables as $row) {
    $data['table'][$row->id] = '\App\Models\\'.$row->model::all();
}

Не в сети

#2 07.03.2021 12:44:46

Re: Подключить модель в цыкле

Зачем модель в цикле вызывать?
модель подключать через use а вотт метод вызвать уже в цыкле.

Изменено kull88 (07.03.2021 12:46:50)

Не в сети

#3 07.03.2021 12:53:52

Re: Подключить модель в цыкле

Зачем модель в цикле вызывать?

В БД есть таблица tables:

|  ID  |  Table_name  | Model  | question_id |

вот теперь, на странице (/question/question_id) - я хочу вывести содержимое только тех таблиц, что принадлежат этой странице

Не в сети

#4 07.03.2021 23:38:59

Re: Подключить модель в цыкле

Я сделал следующим образом:

foreach($tables as $row) {
    $data['table'][$row->id] = DB::table($row->table)->get();
}

как бы сейчас работает, но хотелось бы реализовать это не через DB, а через Models...

Не в сети

#5 08.03.2021 14:08:31

Re: Подключить модель в цыкле

Это конечно дикая дичь так обращаться к талицам и классам-моделям. Но буквально можно ваше желание выполнить так:

$o = app('\\App\\Models\\'.$row->model);
$data['table'][$row->id] = $o->all();

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела