如何同步具有几种类型的中间模型?

时间:2019-07-25 17:44:01

标签: laravel laravel-5 eloquent

我有实践表(practices):

| id |标题|

1 | Php |   2 |数据库|   3 | JavaScript |

及相关表格(practice_user):

| user_id | Practice_id |输入|

 1    |      1      |  expertise  |
 1    |      2      |  expertise  |
 1    |      5      |  expertise  |
 1    |      4      |  request    |
 1    |      3      |  request    |

模型用户:


    /**
     * Get the expertise for the User.
     *
     */
    public function expertise()
    {
        return $this->belongsToMany(Practice::class)->where('type', 'expertise');
    }

然后尝试仅同步其中=专业知识的类型

$user->expertise()->sync($request->practices);

但是键入,其中=请求条目也将被删除。如何避免呢?

1 个答案:

答案 0 :(得分:0)

您应该使用wherePivot方法而不是where

(我不明白您的代码不会因为where方法而中断。)