我试图找到一个有2个城市的路线。我有桌子"路线","城市"和" route_city"。输入时我有两个城市ID(来自和来)。 我的桌子:
城市
id name
1 Kiev
2 Rome
路线
id name
1 Kiev-Rome
2 Rome-Kiev
route_city
id route_id city_id sort
1 1 1 1
2 1 2 2
3 2 2 1
4 2 1 2
我试过了:
SELECT `route_id` FROM `route_city` WHERE (`route_city`.`city_id` IN ('1', '2')) GROUP BY `route_city`.`route_id`
如果我从=基辅到罗马,我会得到两条路线。
1)我如何才能获得一条路线?
2)我如何使用ActiveRecord在Yii2 Framework中创建此查询?
答案 0 :(得分:0)
是您sort
和from
代码的to
列?像这样:如果sort = 1,它是from
,如果sort = 2,它是to
?
如果是,从=基辅到罗马你可以做:
SELECT `route_id` FROM `route_city` WHERE (`route_city`.`city_id` IN ('1', '2')) AND `route_city`.`sort`=1 GROUP BY `route_city`.`route_id`
对于Yii,我无法提供任何帮助!
答案 1 :(得分:0)
无法使用此表结构查找route
。需要从另一个表或更改结构中获取它。