Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel表仅与另一个表上的两个元素相关_Php_Mysql_Laravel_Eloquent - Fatal编程技术网

Php laravel表仅与另一个表上的两个元素相关

Php laravel表仅与另一个表上的两个元素相关,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有两张桌子:旅行和城市 旅行只能在两个城市之间进行。(从“A市”到“B市”) 在trips表中,我放置了两个外键(city_A和city_B),它们引用cities表的“id” 我不知道如何在laravel中设计它来获得优化的代码。 我想知道使用哪种关系(hasOne或belongsToMany),以及如何从tripController检索城市信息。您应该在此处使用带有额外轴心列的belongsToMany()(多对多)。方法将帮助您 您可能想了解和。这是一个多城市关系,因为一个城市可以是许多

我有两张桌子:旅行和城市

旅行只能在两个城市之间进行。(从“A市”到“B市”)

在trips表中,我放置了两个外键(city_A和city_B),它们引用cities表的“id”

我不知道如何在laravel中设计它来获得优化的代码。
我想知道使用哪种关系(hasOne或belongsToMany),以及如何从tripController检索城市信息。

您应该在此处使用带有额外轴心列的
belongsToMany()
(多对多)。方法将帮助您


您可能想了解和。

这是一个多城市关系,因为一个城市可以是许多旅行的一部分,旅行可以有多个城市,因此创建一个数据透视表,其中包含两列city id和trip id,并使用此表加入查询。公共函数getCityA(){return$this->belongstomy(“\App\City”、“City\u trip”、“trip\u id”、“City\u A”)->带pivot('City\u B');)