1

我试图通过我的模型在 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->songlist.title; 它不起作用。

感谢任何帮助将不胜感激。再次对不起我的英语。

4

1 回答 1

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;



}
于 2013-09-21T09:53:51.357 回答