我在用户和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)