【问题标题】:Laravel: Many to Many insertLaravel:多对多插入
【发布时间】:2017-04-28 08:18:35
【问题描述】:

当我尝试在与用户和技能表有多对多关系的 skill_user 中插入数据时,我收到以下错误。用户表中存在 14 号用户,技能表中也存在 1 号技能。 我执行的命令是这个App\user::find(14)->skill()->save(1);

PHP 错误:传递给 Illuminate\Database\Eloquent\Relations\BelongsToMany::save() 的参数 1 必须是 Illuminate\Database\Elo 的实例 quent\Model,给定整数,在 C:\xampp\htdocs\tellworld-api\vendor\psy\psysh\src\Psy\ExecutionLoop\Loop.php(90) 中调用:在 l 上使用 eval()'d 代码 ine 1 并在 C:\xampp\htdocs\tellworld-api\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations\BelongsToMany.php 中定义 第 708 行

【问题讨论】:

    标签: php laravel-5.4


    【解决方案1】:

    在 Laravel 中使用多对多关系时,应使用 attach() function 链接模型。

    所以在这种情况下,您可以执行以下操作:

    App\user::find(14)->skill()->attach(1);
    

    【讨论】:

    • 你在哪里得到空值?
    • This function does not return anything,它只是更新你在数据库中的关系。
    • 没问题,很高兴能帮上忙。如果此答案解决了您的问题,请考虑将其标记为解决方案,以便其他用户找到它。
    猜你喜欢
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2018-01-20
    • 2020-07-06
    相关资源
    最近更新 更多