Laravel не сохраняет, но возвращает true - PullRequest
0 голосов
/ 12 мая 2019

Я использую последнюю версию Laravel с этим кодом в контроллере:

function changeProperty(Request $request){

    if(Car::find('id', 34)->save(array('expired' => true))){
        return [
            'success' => true,
            'check' => Car::find(34)
        ];
    }

    return [
        'success' => false
    ];
}

и я получаю success => true, но когда я проверяю в PHPMyAdmin, значение не сохраняется. В Property::find(34) я вижу, что автомобиль выбран, но тоже не обновлено значение expired, которое по умолчанию равно 0.

Это часть модели Car:

protected $fillable = [
    'expired'
];

Это миграция для таблицы автомобилей:

    public function up()
{
    Schema::create('cars', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->boolean('expired')->default(false);
        $table->timestamps();
    });
}

1 Ответ

5 голосов
/ 12 мая 2019

Должно быть:

Car::find('id', 34)->update($params)

save() не принимает атрибуты в качестве параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...