#laravel
#laravel
Вопрос:
Мой контроллер:
public function post($code, $id){
$specpost = Post::where('id', $id)->get();
return view('post', compact('specpost'));
}
Таким образом, я получаю конкретное сообщение. Также на той же странице я случайно хочу рекомендовать другие сообщения пользователю, как я могу их получить? Написать другую переменную с all
запросом( $all = Post::all();
)? Мне кажется, это не очень правильно, есть ли другие методы?
Комментарии:
1. Точно, ошибка)
2.
Post::find($id)
илиPost::findOrFail($id)
упростит жизнь:)
3. Еще раз спасибо, я постараюсь!)
Ответ №1:
вы можете использовать объединение или создать anthor pramter, например
$specpost = Post::where('id', $id)->get();
$TenPosts = Post::inRandomOrder()->take(10)->get()
return view('post', compact('specpost','TenPosts'));
Комментарии:
1. может быть, добавить a
where('id', '<>', $id)
к случайному, чтобы он не мог захватить тот, который они уже захватили? на всякий случай 🙂2. Я только что слышал, что 2 выборки с одного контроллера перегружают его, повлияет ли это на производительность?
3. я просто запрашиваю 2 БД