2014-08-29 3 views

ответ

1

Вам необходимо убедиться, что вы успешно нашли запись базы данных, которую ищете. Ошибка возникает из-за попытки доступа к столбцу базы данных на нулевом объекте.

Простая проверка позволит избежать вашей ошибки:

$post = Post::find($post_id); 

if ($post !== null) { 
    $post->some_date_field = null; 
    $post->save(); 
} 
+0

Всё. Благодарю. Я пытался вернуть запись, которая была мягкой. Это решило бы это для меня: 'Post :: withTrashed() -> find ($ post_id);' – sterfry68

3

Если он не найдет модель вы будете иметь нуль в этой переменной, так что вы можете:

$post = Post::findOrNew($post_id); /// If it doesn't find, it just creates a new model and return it 

$post->deleted_at = null; 

$post->save(); 

Но если вы на самом деле нужно существовать:

$post = Post::findOrFail($post_id); /// it will raise an exception you can treat after 

$post->deleted_at = null; 

$post->save(); 

И, если он просто не имеет значения:

if ($post = Post::find($post_id)) 
{ 
    $post->deleted_at = null; 

    $post->save(); 
} 
+0

Спасибо. Не знал об этих двух функциях. – sterfry68

Смежные вопросы