Laravel — Save возвращает true, но не обновляет базу данных

#php #laravel-5

#php #laravel-5

Вопрос:

 try{
    $abcd = $cat->save();
    var_dump($abcd);exit; // returns true
} catch (Exception $e){
    echo '<pre>';print_r($e);exit;
}
  

Сброс данных непосредственно перед функцией сохранения выводит все правильно.

Попробовал этот код — он выдает значение true, но не обновляется в базе данных. Я перепробовал все известные сценарии. Какие-либо исключительные случаи, когда это может произойти.?

первичный ключ, идентификатор … и некоторые другие проверки уже выполнены. Но никакого прогресса.

Комментарии:

1. Пожалуйста, поделитесь еще каким-нибудь кодом

2. @AnkurTiwari Может ли быть какая-либо проблема с форматом данных? Если это так, laravel не выдаст никакой ошибки?

3. @mujuonly пожалуйста, покажите объектный код $ cat как вы создаете этот объект, пожалуйста, поделитесь подробным кодом

4. Вы делаете это для отношений? Если вы хотите сохранить родительскую модель, а также все отношения, тогда вам следует вместо этого вызвать push() .

5. При дальнейшем копании — это была моя ошибка, что идентификатор обновляемой строки был неверным. Спасибо вам, ребята, за ваш быстрый ответ

Ответ №1:

вам нужно использовать Cat Model при сохранении :

например, $cat=new Cat(); для создания новой записи или,

$cat=Cat::find($id); при обновлении завершающей записи

 try{
    $cat=new Cat();
    $cat->some_column='some_value';   
    $abcd = $cat->save();
    var_dump($abcd);exit; // returns true
} catch (Exception $e){
    echo '<pre>';print_r($e);exit;
}
  

Комментарии:

1. Попал сюда из Google, потому что не смог найти хороший простой пример, подобный этому. Спасибо, сэр