У меня очень простая модель:
class Employee extends \Eloquent
{
}
И я хотел бы синхронизировать локальные данные с данными, хранящимися на удаленном сервере.В моем MySQL у меня есть
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
Так что я уверен, что если бы я совпадал с id
, я бы никогда не сделал массовое назначение.
Поэтому, когда я делаю:
foreach((new RemoteEmployee())->all() as $emp) {
Employee::updateOrCreate(['id' => $emp['id']], [
'firstname' => $emp['id'],
'lastname' => $emp['lastname'],
'phone' => $emp['phone']
]);
}
Я не должен получить эту ошибку:
Add [id] to fillable property to allow mass assignment on [App\Models\Employee].
В любом случае, если я изменю свою модель следующим образом:
class Employee extends \Eloquent
{
protected $fillable = ['*'];
}
Я не получаю никаких ошибок, но мои записи нулевые.
Почему?