Как получить сообщение по идентификатору и все сообщения одновременно?Laravel

#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 БД