問題タブ [laravel-collection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 雄弁なコレクション: each と foreach
Eloquent コレクションに固有の質問ではないかもしれませんが、それらを使用しているときに気になったことがあります。$collection
のインスタンスであるオブジェクトがあると仮定しましょうIlluminate\Support\Collection
。
それを反復したい場合each()
、クロージャーと通常の使用の長所と短所は何ですかforeach
。いずれかがあります?
対
laravel - Eloquent Collection: 空のカウントと検出
$result = Model::where(...)->get()
これは些細な質問かもしれませんが、要素の数を数えるだけでなく、返された Eloquent コレクションが空であるかどうかを確認する特定の方法を Laravel が推奨しているかどうか疑問に思っています。
現在!$result
、空の結果を検出するために使用していますが、それで十分ですか? に関してはcount($result)
、空の結果を含むすべてのケースを実際にカバーしていますか?
php - Laravelコレクションオブジェクトのn番目のオブジェクトにアクセスするには?
laravel コレクション オブジェクトがあります。
その中でn番目のモデルを使いたいです。
どうすればアクセスできますか?
編集:
laravel documentationで適切な方法が見つかりません。foreach ループでコレクションを反復処理し、n 番目の項目が見つかったときに中断することができます。
しかし、これは面倒なようです。
よりクリーンな方法は、上記のループを 1 回実行し、コレクション内のすべてのオブジェクトを含む単純な配列を作成することです。しかし、これは不必要な重複のようです。
laravel collection class documentationにはfetch メソッドがありますが、これはコレクションのn番目のものではなく、主キーに一致するコレクションからオブジェクトをフェッチすると思います。
php - groupBy() を使用して Collection オブジェクトをグループ化する方法
私の目標は、ユーザーの「アイテム」をすべて取得し、「ステータス」別にグループ化してビューに表示することです。<div>
4 つのステータスがあり、アイテムの情報を含むページにそれぞれ独自のステータスがあります。いくつか突っついた後、次のgroupBy()
ようにメソッドを使用する必要があると思います:
これはある種のグループ化を行っているように見えますが、コレクションを反復処理すると、ステータスごとに 1 つずつ、最大 4 つの結果が得られます。1つだけではなく、ステータスごとにユーザーのすべてのアイテムを表示する必要があるため、これは私の問題を実際には解決しません。ここで何かが欠けているに違いありません。各ステータスのクエリを作成してそのように表示することは避けたいと思います。コレクションをステータスでフィルタリングして 4 つの新しいコレクションを作成することもできると思いますが、これでよいのgroupBy()
ではないでしょうか。
laravel - 未定義のメソッド Illuminate\Database\Query\Builder::make() の呼び出し
ドキュメントから直接例を使用しようとすると、このエラーがスローされます。私は壁に頭をぶつけています、私はすべてを試しました。
上記がドキュメントから直接引き出されたにもかかわらず、私はこれを取得します:
配列からカスタム コレクションを作成する方法を知る必要があります。なぜこれが難しいのか理解できません。
php - Laravel Eloquent - コレクションからの親のリスト
1
ユーザーがストアからメディアに対して行った「いいね!」のリストを取得できます1
しかし、メディアのリストを取得する必要があるので、試してみました
しかし、それから私は得る
未定義のプロパティ: Illuminate\Database\Eloquent\Collection::$media
laravel - Laravelコレクションのプルメソッドが期待どおりに機能しない
私は Laravel の素晴らしい世界に入りました。現在、テスト用に偽のデータをデータベースにシードすることを検討しています。
操作したいテーブルがいくつかあります。プロジェクトとストーリー。
stories テーブルには列があります。id、name、およびproject_id (projects テーブルの fk です)。
私のプロジェクト テーブルには、10 個のプロジェクトのリストが既に入力されています。ここで、ランダムなプロジェクトが関連付けられた 100 のストーリーを作成する必要があります。私は以下のアプローチを持っています。
これが私が必要とすることを行うための最良の方法であるかどうかはわかりません。ただし、このコードを実行すると、すべてのストーリーの project_id が 1 に設定されます。最初のプロジェクトの ID。
次のコマンドをtinkerで実行すると... IDとして常に1が返されます。
しかし、ティンカーで次のコマンドを実行すると...
毎回ランダムなプロジェクトを返します。これは奇妙です。->pluck() までのすべてが機能している場合、pluck() は収集されたアイテム ID をフェッチする必要があるためです...そうですか? これは、上記のコマンドが返すものです。
以下のターミナル ウィンドウのスクリーンショットを参照して、私の意味を説明してください。