我试图通过我的模型在Fluent中加入2个表我在mysql客户端上运行查询并给我想要的回报。
这是标准查询
select `songlist`.*, `queuelist`.* from `songlist` inner join `queuelist` on `songlist`.`id` = `queuelist`.`songID` where `queuelist`.`songID` = songlist.ID and `songlist`.`songtype` = 'S' and `songlist`.`artist` <> "" order by `queuelist`.`sortID` ASC limit 4
确实会返回我正在寻找的数据。
现在使用流利的模型。
我确实喜欢这个。
public static function comingUp()
{
$getcomingUp = DB::table('songlist')
->join('queuelist', 'songlist.id', '=', 'queuelist.songID')
->select('songlist.*','queuelist.*')
->where('queuelist.songID', '=', 'songlist.ID')
->where('songlist.songtype', '=', 'S')
->where('songlist.artist', '<>', '')
->orderBy('queuelist.sortID', 'ASC')
->take('4')
->get();
return $getcomingUp;
}
和我的控制器测试我是否得到这样的数据
public function getComingUp()
{
$getcomingUp = Radio::comingUp();
foreach ($getcomingUp as $cup)
{
echo $cup->title;
}
// return View::make('comingup', compact('comingup'));
}
你可以看到foreach没有返回任何数据,查询没有任何问题,因为laravel根本没有给我任何错误。但我不能让foreach显示我正在寻找的数据。
我尝试使用$ cup-&gt; songlist.title; 并且它不工作以太。
感谢任何帮助都会受到欢迎。抱歉我的英语。
答案 0 :(得分:1)
你可以这样做。
public static function comingUp()
{
$getcomingUp = DB::table('songlist')
->select('songlist.*','queuelist.*')
->join('queuelist', 'queuelist.songID', '=', 'songlist.id')
->where('songlist.songtype', '=', 'S')
->where('songlist.artist', '<>', '')
->orderBy('queuelist.sortID', 'ASC')
->take('4')
->get();
return $getcomingUp;
}