23

->get()Laravelの時期について混乱しています...

EGDB::table('users')->find(1)は結果を取得するために ->get() を必要としません。User::find(1)

laravel のドキュメントには、「...get または first メソッドを使用してクエリを実行する...」と書かれています。

Fluent Query Builder と Eloquent のドキュメントを読みましたが、get() の使用が必要な場合がわかりません...

助けてくれてありがとうここに画像の説明を入力

4

6 に答える 6

20

find()関数は常にテーブルの主キーを使用するため、必要はget()ありません。選択範囲を絞り込むことができないため、常にそのレコードを取得して返そうとするだけです。

ただし、Fluent Query Builder を使用している場合は、次のように条件をネストできます。

$userQuery = DB::table('users');
$userQuery->where('email', '=', 'foo@bar.com');
$userQuery->or_where('email', '=', 'bar@foo.com');

これにより、実際に条件を取得するまでコード全体に条件を追加でき、その後でget()関数を呼び出すことができます。

// Done with building the query
$users = $userQuery->get();
于 2012-12-04T08:07:51.737 に答える
16
  • の場合、 「n」である主キーfind(n)に基づいて行を取得します。
  • の場合、 where 句に適合するすべての行の中から最初の行first()を取得します。
  • の場合、 where 句に適合するすべての行get()を取得します。(すべての行にアクセスするにはループが必要であることに注意してください。そうしないと、エラーが発生します)。
于 2016-07-06T18:37:33.580 に答える
0

get() メソッドと latest() メソッドを使用して、最近テーブルに追加された最新のレコードを取得できます。たとえば、

$user=Student::latest()->get();

すべてのデータを降順で返す

于 2022-01-31T07:35:30.310 に答える