Laravel Eloquent无法为模型的关系属性赋值

时间:2017-12-01 23:18:38

标签: laravel laravel-5 eloquent

我无法为模型的属性

指定值
App\person::find(1)->plan

这个命令在artisan tinker

中给了我这样的东西
     id: 1,
     name: "name",
     description:"",

我正在尝试为description

指定一个值
App\person::find(1)->plan->description='something'

输出

'something'

但它没有在描述中保存它,我仍然得到这个

     id: 1,
     name: "name",
     description:"",

我尝试了几个命令,没有工作

App\person::find(1)->plan->description='something'->save();
App\person::find(1)->plan->description->save('something');

我做错了吗?是的,模型的属性已设置为fillable

2 个答案:

答案 0 :(得分:4)

要保存,你必须

$person= App\person::find(1);
$person->plan->description='something';
$person->plan->save();

或者,如果你需要一个衬垫

App\person::find(1)->plan->fill(['description' => 'something')->save();

你采取的方式是尝试在字符串上执行保存:

App\person::find(1)->plan->description='something'->save();

答案 1 :(得分:0)

试试这样:

'Could not import `PIL.Image`. The use of `array_to_img` requires PIL.'