【问题标题】:Create new eloquent instance with relationships使用关系创建新的 eloquent 实例
【发布时间】:2015-12-22 05:46:43
【问题描述】:

如何创建具有关系的 eloquent 模型的新实例。

这就是我正在尝试的:

$user = new User();
$user->name = 'Test Name';
$user->friends()->attach(1);
$user->save();

但我明白了

Call to undefined method Illuminate\Database\Query\Builder::attach()

【问题讨论】:

    标签: php laravel eloquent laravel-5.1


    【解决方案1】:

    尝试在save 之后附加朋友,因为attach() 方法需要ID 存在于父模型上。在保存模型(在数据库中创建该模型的主键或其他标识符时)之前,不会(通常)生成 ID:

    $user = new User();
    $user->name = 'Test Name';
    $user->save();
    
    $user->friends()->attach(1);
    

    希望这会有所帮助。

    【讨论】:

    • 是的,attach 方法需要一个 ID 才能存在于父模型上。在保存模型(在数据库中创建该模型的主键或其他标识符时)之前,不会(通常)生成 ID
    • 感谢@fideloper 的干预/解释,我可以用您的评论改进我的回答吗?
    猜你喜欢
    • 2016-04-22
    • 2017-05-18
    • 2019-02-11
    • 1970-01-01
    • 2017-04-05
    • 2011-01-19
    • 2015-08-27
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多