繁体   English   中英

如何在Laravel中使用3个表的雄辩?

[英]How is to use eloquent in Laravel with 3 tables?

我有这个相互关联的数据库表

1个客户可以有1个或更多个轮胎,1个轮胎可以有3个或更多个测试,如下所示

我想使用customer_id得到以下的输出

我对查询构建器有所了解,但我只是想知道在这种情况下使用雄辩的关系? 有人可以给我建议吗?

有人能告诉我使用Eloquent ORM Relationship做到这一点的例子吗?

谢谢

customer_id     customer     manufacturer    trademark      test
1               Jeddah       Pirelli         Str Scorpio    High Speed
1               Jeddah       Pirelli         Str Scorpio    Endurance
1               Jeddah       Pirelli         Str Scorpio    Visual

第一张表:tbl_customer

id = 1 //unique id
letter_number = 520
customer = Jeddah

第二张表:tbl_tire

id = 1 //unique id
customer_id = 1
manufacturer = Pirelli
trademark = Str Ccorpio

第三张表:tbl_test

id = 1 //unique id
tire_id = 1
customer_id = 1
test = High Speed

id = 2
tire_id = 1
customer_id = 1
test = Endurance

id = 3
tire_id = 1
customer_id = 1
test = Visual

既然您已经了解customer_id ,请执行以下操作:

$tires = Tire::where('customer_id', $customerId)->with('tests')->get();

这将创建2个查询,但测试将是嵌套的(不像在您的示例中),这更好,因为在这种情况下处理数据更加舒适。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM