如何使用Eloquent Model设置具有相同值的多个关键点


How to set multiple keys with the same value using Eloquent Model

我想用NULL设置一些列。

我只想使用密钥,比如:

$model->exampleFiller($myKeysArray, null)->save();

我目前正在使用这个:

$model->fill([
    'key1' => null,
    'key2' => null,
]);

我正在寻找更好的方法,你有吗?

ps:这不是经常使用的东西,所以我不想扩展Eloquent模型。我只需要一个巧妙的方法来设置一次。

刚刚找到了一种方法,如果有人找到了更好的东西,我会考虑的。

$model->fill(
    array_fill_keys($myKeysArray, null)
)->save();

打开此PR以填补这一空白:https://github.com/laravel/framework/pull/14494

只需完成exampleFiller方法:

...
public function exampleFiller($arr, $value)
{
    foreach ($arr as $prop) {
        if (property_exists($this, $prop)) {
            $this->$prop = $value;
        }
    }
}
...