我有2张这样的桌子
Table tname Table tfriend
id name id nameid friendid
1 rick 1 1 2
2 roy 2 1 3
3 richard 3 2 1
4 3 1
我想要这样的输出
id name friends
1 rick roy, richard
2 roy rick
3 richard rick
我已经使查询数据库像这样:
$friend = \DB::select('SELECT id, name, (SELECT friendid as friends from tfriends WHERE nameid = id) FROM tname')->get()
但是select里面的select即使在SQL查询中也不起作用,我应该在查询中写些什么来使其正确?
答案 0 :(得分:0)
您可以尝试: select(id,name,(从tfriend中选择tname.name,tname其中(从tfriend中选择tfriend.id,tname其中tname.id = tfriend.nameid)= tname.id)作为朋友)
答案 1 :(得分:0)
您需要在变量中包含id并进行查询,如果为整数,则可以使用简单的串联样式,变量中不带点且不带引号,例如>
delete
答案 2 :(得分:0)
好吧,我在此使用的解决方案有些棘手
首先,我确实使用连接表tfriend和tname声明了我的Db 2,并定期声明了tname表,然后将其发送到刀片服务器
第二,我像这样在刀片中进行if-else
public function offers()
{
return $this->hasMany(Offer::class);
}