小编Dan*_*cht的帖子

Laravel 5更新所有Pivot条目

我在用户和Customview模型之间存在多对多关系:

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * Customview relation
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function customviews ()
    {
        return $this->belongsToMany( Customview::class )->withPivot( 'default' );
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想更新所有用户的customview-assignment并将其默认标志重置为0.

在SQL中,这应该是这样的(数据透视表的名称是customview_user):

UPDATE `customview_user` SET `default`=0 WHERE `user_id`=<user_id>;
Run Code Online (Sandbox Code Playgroud)


有没有办法这样做:

$user->customviews()->...update(['default' => 0]);
Run Code Online (Sandbox Code Playgroud)

php sql pivot laravel laravel-query-builder

4
推荐指数
1
解决办法
1560
查看次数

标签 统计

laravel ×1

laravel-query-builder ×1

php ×1

pivot ×1

sql ×1