同時に2つのテーブルを選択LARAVEL

パコPinazoグナ:

私は動物のテーブルと画像テーブルを持っています。

画像Id_animalを持っています。

問題はAnimalControllerに、私は最後の6匹の動物を選択していると私は同時に自分の画像を返すようにしたいということです。

私はそれを行うにはどのように任意のアイデアを持っていません。

public static function getNewerAnimals()
{
    $animales = DB::table('animals')
    ->orderBy('date_found')
    ->limit(6)
    ->get();

    return $animales;
}

動物の表

表の画像

ディリップHirapara:

2つのテーブルを結合するためにあなたが参加することができます。

 $animales = DB::table('animals')
    ->orderBy('date_found')
    ->join('images','images.id_animal','animals.id')
    ->limit(6)
    ->get();
return view('viewname',compact('animales'))

編集します

ブレードファイルで

@foreach($animales as $animal)
    {{ $animal->nickname  }}
@endforeach

あなたが関係で使用する場合と、それはあるでしょうhasManyな関係を。

動物モデル

class Animal extends Model
{
    protected $table = 'animals';
    public function images()
    {
        return $this->hasMany('App\Image','id_animal','id')->where('type','interest');
    }
}

そして、コントローラで

$animales = Animal::with('images')
    ->orderBy('date_found')
    ->limit(6)
    ->get();

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=373576&siteId=1