Laravelは関係に基づいてデータを取得します

Jia Soon Loo

つまり、BidsテーブルとProjectsテーブルの2つのテーブルがあります。それらの間の関係それ自体:

Bids.php:

public function projects()
  {
        return $this->belongsTo('App\Projects');
  }
    

Projects.php:

public function bids()
{
    return $this->hasMany('App\Bids');
}

これはプロジェクトテーブルです。これは入札表です。ビューのテーブルの各行に、すべての入札データとそれぞれのプロジェクトデータを印刷したいと思います。私は自分のコントローラーでこのようにしようとしました:

$bids= auth()->user()->bids()->get();
   foreach($bids as $bid)
   {
        $projects= Projects::find($bid->project_id);
   }
    return view('bids.index',compact('bids','projects'));

インデックスビュー:

 @if($bids->count() != 0)
           @foreach($bids as $bid)                      
            <tr>
            <td><a href="{{ route('projects.select',$projects->id) }}">{{$projects->name}}</a></td>
             <td>{{$bid->status}}</td>
             </tr> 
             @endforeach
                                
             @else
             <tr>
             <td colspan="6" class="text-center">No record found.</td>
             </tr>
             @endif

しかし、テーブルの1行でデータが繰り返されました。それで、それを行うための適切な方法は何でしょうか?これが少し曖昧な場合は申し訳ありませんが、これは抽象的に説明するための私の最善の方法です。

ラグボックス

ここで定義した関係を使用していません。

$bids = auth()->user()->bids()->with('project')->get();

これによりproject、各入札関係が熱心に読み込まれます

これをビューでどのように表示するかは本当にわかりませんが、入札を繰り返してプロジェクト情報を非常に簡単に取得できます。

@foreach ($bids as $bid)
    {{ $bid->id }}
    {{ $bid->project->name ?? '' }}
@endforeach

サイドノート:

あなたのProjectsモデルをしなければならないProject、モデルは単数形で命名され、データベーステーブルが複数で命名されています。あなたの関係は、それが単一の関係であり、属しているので、そうであるべきではありprojectませんprojects単一のレコードまたはを返すことができnullます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Octobercms / Laravelは関係に基づいてIDを取得します

分類Dev

Laravelの1対多(逆)関係のデータに基づいて行のリストを取得します

分類Dev

データの関係を取得し、Rの関係に基づいてデータをグループにまとめる方法は?

分類Dev

関係に基づいてタイトルを取得する(laravel)

分類Dev

SQLは、1対多の関係に基づいてデータを選択します

分類Dev

Laravelは別の関係を介して関係データを取得します

分類Dev

Firebaseは親からキーに基づいてデータを取得します

分類Dev

XQueryは個別の値に基づいてデータを取得します

分類Dev

Jekyllは名前に基づいて特定の_dataデータを取得します

分類Dev

パンダは辞書に記載されている関係に基づいて2つのデータフレームを結合します

分類Dev

Laravel 5 –モデルと関連するモデルIDに基づいて特定の多対多の関係を取得します

分類Dev

Laravel-雄弁なものを使用して日付範囲に基づいてデータを取得します

分類Dev

関係に基づいてモデルを選択しLaravel

分類Dev

Laravelはタグに基づいて関連モデルをつかみます

分類Dev

関係の場所の条件に基づいてすべてのユーザーを取得します

分類Dev

コアデータモデルの関係は画像に基づいて正しいですか?

分類Dev

Laravel-IDに基づいて別のテーブルからデータを取得します

分類Dev

Laravel:オプションの条件に基づいてvariouosテーブルからデータを取得します

分類Dev

Laravel-パラメータに基づいてhasMany関係をフィルタリングする方法は?

分類Dev

Laravelはユーザーの役割に基づいて投稿を取得します

分類Dev

Laravelは関係とページ付けの関係データですべてを取得します

分類Dev

laravelは子関係から親データを取得します

分類Dev

Laravel5は関係データを取得します

分類Dev

Laravel Eloquentは、関係に基づいて列をインクリメントします

分類Dev

T-SQL-2つの列に基づいてデータを取得します

分類Dev

Django RestFrameworkのIDに基づいてAPIでデータを取得します

分類Dev

mysql結果のIDに基づいてデータの数を取得します

分類Dev

SQLで四半期の月に基づいてデータを取得します

分類Dev

条件に基づいて行からデータを取得します

Related 関連記事

  1. 1

    Octobercms / Laravelは関係に基づいてIDを取得します

  2. 2

    Laravelの1対多(逆)関係のデータに基づいて行のリストを取得します

  3. 3

    データの関係を取得し、Rの関係に基づいてデータをグループにまとめる方法は?

  4. 4

    関係に基づいてタイトルを取得する(laravel)

  5. 5

    SQLは、1対多の関係に基づいてデータを選択します

  6. 6

    Laravelは別の関係を介して関係データを取得します

  7. 7

    Firebaseは親からキーに基づいてデータを取得します

  8. 8

    XQueryは個別の値に基づいてデータを取得します

  9. 9

    Jekyllは名前に基づいて特定の_dataデータを取得します

  10. 10

    パンダは辞書に記載されている関係に基づいて2つのデータフレームを結合します

  11. 11

    Laravel 5 –モデルと関連するモデルIDに基づいて特定の多対多の関係を取得します

  12. 12

    Laravel-雄弁なものを使用して日付範囲に基づいてデータを取得します

  13. 13

    関係に基づいてモデルを選択しLaravel

  14. 14

    Laravelはタグに基づいて関連モデルをつかみます

  15. 15

    関係の場所の条件に基づいてすべてのユーザーを取得します

  16. 16

    コアデータモデルの関係は画像に基づいて正しいですか?

  17. 17

    Laravel-IDに基づいて別のテーブルからデータを取得します

  18. 18

    Laravel:オプションの条件に基づいてvariouosテーブルからデータを取得します

  19. 19

    Laravel-パラメータに基づいてhasMany関係をフィルタリングする方法は?

  20. 20

    Laravelはユーザーの役割に基づいて投稿を取得します

  21. 21

    Laravelは関係とページ付けの関係データですべてを取得します

  22. 22

    laravelは子関係から親データを取得します

  23. 23

    Laravel5は関係データを取得します

  24. 24

    Laravel Eloquentは、関係に基づいて列をインクリメントします

  25. 25

    T-SQL-2つの列に基づいてデータを取得します

  26. 26

    Django RestFrameworkのIDに基づいてAPIでデータを取得します

  27. 27

    mysql結果のIDに基づいてデータの数を取得します

  28. 28

    SQLで四半期の月に基づいてデータを取得します

  29. 29

    条件に基づいて行からデータを取得します

ホットタグ

アーカイブ