私のモデルを介して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; で試してみます。そしてそれはエーテルを働かせません。
ありがとうございました。繰り返しますが、私の英語で申し訳ありません。