Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день. Есть вот такой код:
public function show($department_id, $course_id)
{
$usefuls_id = DB::select('select distinct course_useful.useful_id from course_useful join department_useful on department_useful.department_id=? and course_useful.course_id=?', array($department_id, $course_id));
$usefuls = Useful::whereIn('id', $usefuls_id)->get();
return View::make('courses.show')->with('usefuls', $usefuls);
}
Нужно получить список предметов, исходя из данных массива $usefuls_id. Появляется ошибка "Object of class stdClass could not be converted to string". Как быть?
Не в сети
Я могу ошибаться но по-моему
$usefuls = Useful::whereIn('id', $usefuls_id->toArray( ))->get();
Не проверял!
Не в сети
Я могу ошибаться но по-моему
$usefuls = Useful::whereIn('id', $usefuls_id->toArray( ))->get();
Не проверял!
К сожалению это не так "Call to a member function toArray() on a non-object".
Не в сети
Еще:
DB::select(...)->get()
Не в сети
У вас в $usefuls_id должна быть или коллекция или массив.
Не в сети
У вас в $usefuls_id должна быть или коллекция или массив.
Да, это я понимаю, но вот как это сделать Методы get() и toArray() невозможно использовать.
Не в сети
Напишите откуда берется $usefuls_id я не совсем понимаю что вы там хотите сделать.
Не в сети
Напишите откуда берется $usefuls_id я не совсем понимаю что вы там хотите сделать.
Собственно у меня есть две таблицы: course_useful и department_useful. Я хочу вытащить оттуда те useful_id, которые соответствуют определенным course_id и department_id. Нужно сделать так, чтобы в этой переменной содержались id, которые я смогу передать сюда
$usefuls = Useful::whereIn('id', $usefuls_id)->get();
чтобы получить объекты Useful и передать их в представление. Но как видите приведенный выше код ругается "Object of class stdClass could not be converted to string". Вот такой код работает
$usefuls = Useful::whereIn('id', array($usefuls_id[0]->useful_id, $usefuls_id[1]->useful_id))->get();
Короче нужно сделать так, чтобы заработал вот этот фрагмент
$usefuls = Useful::whereIn('id', $usefuls_id)->get();
Не в сети
Работает вот такой вариант:
foreach ($usefuls_id as $key => $value)
{
$q[$value->useful_id] = $value->useful_id;
}
$usefuls = Useful::whereIn('id', $q)->get();
Если кто-то знает, как можно сделать лучше, то напишите пожалуйста
Не в сети
Страницы 1