通常我们从父关系表中获取数据,我们在laravel中获取数据透视及其关系表的记录,但是我们可以使用数据表中的数据表来获取记录吗?
就像我想从数据透视表中获取产品记录及其数量记录使其独特,因此我想从数据透视表中获取产品数据。我们可以在laravel中做到吗?
感谢。
答案 0 :(得分:0)
您可以使用内置查询构建函数以相反的顺序生成表数据。 的 e.g。强>
$ users = DB :: table('users') - > orderBy('id','desc') - > get();
将返回一个与用户ID相反的数组。 此外,您可以使用更多功能。请阅读文档。
答案 1 :(得分:0)
在此示例中,当客户从我们的商店订购商品时。然后,您应该能够跟踪订单中的项目,客户详细信息,数量等。因此,我们可以使用以下类来执行此操作。
首先,我们必须提及模型中的数据库关系。例如客户有很多订单。因此,在Customer模型中将其表示为如下函数。
公共职能部门(){
return $this->hasMany(App\Order);
}
同样在订单模型中
公共职能客户(){
return $this->belongsTo(App\Customer);
}
在创建迁移文件时,您应该在orders表中为customer_id留下未签名的intiger列。保存数据时,应将相关的customer_id保存在订单详细信息中。的 e.g。强> 订单表将如下所示。
$ order-> customer_id = $ customer-> id //假设您拥有上面列出的客户对象。 但是我更喜欢手动保存id,因为它对我来说更清楚。
因此,当您想要查找特定订单的客户时,请回顾客户表中的客户ID。的 e.g。强>
$顾客=顾客::其中( '编号',$命令 - > CUSTOMER_ID) - >首先();
如果您想查找特定客户的订单,可以这样做,
$ orders_array = Order :: where('customer_id',$ customer-> id)-get();
所以你可以轻松地穿越双方。我没有得到枢轴表的意思。如果您能够描述更多,那么Excel中的Pivot表是否有用?