Я пытаюсь получить запись из таблицы базы данных posts
, используя ее идентификатор. Я довольно долго ломал голову над методом find(), не понимая, почему он не работает. Вот мой запрос, который выглядит правильно для меня, но не работает:
$post = Post::find($id);
$post->delete();
Неохотно я сделал это:
$post = Post::where('id', $id);
$post->delete();
и как ни странно, это сработало, но я понятия не имею, как.
Я также знаю, что в отличие от find()
, where()
— это построитель запросов, поэтому я мог бы использовать его и так: Post::where('id', $id)->first()
Любые идеи о разнице в том, как работают методы?