我如何在多对多关系中使用where子句
表:用户
id - name - email
表格:变化
id - name
表:shifting_user
id - user_id - shifting_id
用户模型:
public function shiftings()
{
return $this->belongsToMany('App\shifting');
}
在控制器im中使用以下自定义查询
public function index()
{
return $user = DB::select('select * from shifting_user
where user_id in (select id from users)' );
}
如何将其转换为laravel标准/等价查询。
答案 0 :(得分:0)
您需要先设置他们的关系。
在您的班次模式中:
//1. Generate An SCNPlane With The Same Size As Our Image
let realScaleNode = SCNNode(geometry: SCNPlane(width: widthInMetres, height: heightInMeters))
realScaleNode.geometry?.firstMaterial?.diffuse.contents = image
realScaleNode.position = SCNVector3(0, 0, -1)
//2. Add It To Our Hierachy
self.augmentedRealityView.scene.rootNode.addChildNode(realScaleNode)
在您的用户模型中:
public function users()
{
return $this->belongsToMany(User::class);
}
那么您只需进行一次急切的加载即可获得所有转变,包括与之相关的用户
public function shiftings ()
{
return $this->belongsToMany(Shifting::class);
}