sql >> データベース >  >> RDS >> Mysql

AngularJS&Laravel 4.2は、multipテーブルからデータを取得して結合します

    ここで実行できる最も簡単なデータ取得の形式は、次のことです。

    $travelBills = Travelbill::with(['code','allowance'])->get();
    

    これはEagerLoadingであり、次の3つのクエリを実行します。

    • すべての旅費を請求する
    • すべての旅行請求書IDと一致する外部キーを持つすべてのコードをロードし、それらを各旅行モデルに割り当てます
    • 手当についても同じことを行います

    最終的に、すべてのTravelbillモデルには、関連付けられたCode and Allowanceモデルがすでに含まれているため、次のように作業できます。

    echo $travelBill->cost->SekInklMoms;
    

    ロードしたTravelbillの1つ。最初のクエリでいくつか注意してください:

    • 旅行代金はではありません フィルタリングされたため、この時点ですべてをロードしています。
    • 私たちはそれを単に行っています 、必ずしも効率的ではありません。結合(いずれの場合もEloquent ORMの精神を壊す)などに取り掛かる前に、まずリレーションシップの読み込みに慣れることをお勧めします。



    1. Oracleで2つの列の比較を1つの列として選択する方法

    2. CASEを使用して複数の列を選択するMySQLクエリ

    3. MySQL関数内でエラーを発生させる方法

    4. SQLを使用して日付で並べ替えることはできますが、結果セットの後ろにnullの日付を配置しますか?