Как предотвратить получение сообщения: попытка получить свойство, не являющееся объектом, когда идентификатор не найденPhp

Кемеровские программисты php общаются здесь
Anonymous
Как предотвратить получение сообщения: попытка получить свойство, не являющееся объектом, когда идентификатор не найден

Сообщение Anonymous »

теперь у меня есть контроллер, который получает идентификатор из базы данных, а затем выводит информацию о сомах из базы данных. но когда я захожу в базу данных и удаляю данные вручную, контроллер больше не может найти идентификатор и возвращает: Попытка получить свойство, не являющееся объектом
с помощью личной информации. мой конде примерно такой:

Код: Выделить всё

    public function saveChanges(Request $request){
$id=$request->input('id');

$this->validate($request, [
'title' => 'required',
'body' => 'required|min:2'
]);

$post=Post::where('id',$id)->first();
if($post->id == $id){
$post->title = $request['title'];
$post->postBody = $request['body'];

if ($post->update())
{
return response()->json([
'type'=>1,
'newtitle'=>$post->title,
'newbody'=>$post->postBody
]);
}
else{
return response()->json(['type'=>0]);
}
}

else {
echo"404";
}

}
Что мне здесь не нравится, так это идентификатор напрямую:

Код: Выделить всё

$post=Post::where('id',$id)->first();
Я понятия не имею о Laravel, как вы думаете, смогу ли я случайно предотвратить эту ситуацию?

Вернуться в «Php»