問題タブ [laravel-eloquent]

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.

0 投票する
1 に答える
51 参照

php - PHP リポジトリの最大数

そのため、Laravel フレームワークを使用して PHP で Web アプリを開発しています。12 個のモデルと 1 個のコントローラー、およびモデルにリンクする 12 個のリポジトリーがあります。各リポジトリで、クエリを使用していくつかの関数を作成しているため、コントローラーで繰り返されません。コントローラー コンストラクターにリポジトリを挿入しようとしていますが、リポジトリの数が多すぎます。

いつもは1~2本と聞いていたのですが、今のところ12本持っています。

コントローラ:

リポジトリ:

0 投票する
1 に答える
19 参照

arrays - すべてのパラメーターをキャプチャーできない

わかりました。記録を作成し、記録が記録されたことを知らせる電子メール通知/確認を送信しようとしています。Players モデルと Lessonhours モデルの間に多対多の関係があります。User モデルは Players モデルと一対多です。いくつかの異なる変更を加えて「ストア」メソッドを実行し、最終的にメールを送信しました。問題は、存在するプレイヤーの配列を取得して、それぞれにメールを送信できないことです。私のフォームからの複数の選択は、それぞれのテーブルに適切に挿入されています。電子メール データの収集に関しては、次のコードが最も近いものでした。THIS の問題は、プレイヤーが 2 人以上いるのに 1 人しか得られないことです。これが理にかなっていることを願っています。以下のスクリーンショット。

$request 配列のコードとスクリーンショット: $request オブジェクトのコードと dd()。

dd($request->players)

クエリの後、プレーヤーの配列をキャプチャしません。

プレーヤーの配列をキャプチャしていません dd($players)

$request オブジェクトにインデックスを追加するコード

インデックスを追加しようとした後のエラー メッセージ。

選手モデル: 選手モデル

私はこれについてあまり経験がなく、どのドキュメントの例を使用するかを特定するのが難しいと感じています. レコードの挿入後に送信するすべての電子メール アドレスを取得するにはどうすればよいですか? 提供されたすべてのヘルプに感謝します。

レッスン時間モデル: 授業時間モデル

店舗レッスン時間フォーム レッスン時間フォーム

ユーザーモデル ここに画像の説明を入力

0 投票する
2 に答える
720 参照

php - 複数の列との雄弁な関係を照会する

laravel の雄弁な関係で遊んでいます。私はこれらの関係を持っています。

注文:

Order.php

注文詳細

OrderDetail モデル

製品

id name price

dd'ed dd($this->order->with('orderDetails')->get(); の場合

注文の詳細に含まれる製品のIDを使用して、注文と注文の詳細を取得できます。しかし、表示できるように製品の名前を取得できるようにしたいです。

どのクエリを実行するか、または関係を定義するためのより良い方法は?

0 投票する
2 に答える
550 参照

laravel - Laravel 5 - 雄弁: 多対多の関係をフィルタリングする簡単な方法

リストとユーザーの間に多対多の関係があります。これはリストモデルです:

これはユーザーモデルです:

リスト ページで、ログインしているユーザーに属するすべてのリストを取得する必要があります。私が見つけた唯一の解決策はこれです:

同じ結果を達成する簡単な方法はありますか?

0 投票する
1 に答える
42 参照

laravel - find で列を制限しながら with() と find() を使用すると、リレーション データがキャンセルされます

認証されたユーザーが自分のデータを見ているのか、別のユーザーからのデータを見ているのかによって、異なるデータを表示する次のコードがあります。コードは機能しますが、私の意見では非常に厄介です。

モデル呼び出しで次のようなものを使用しようとしました。

ただし、ユーザー テーブルから取得する列を指定すると、関係データが無効になるため、空の配列として返されます。これをよりクリーンにする別の方法はありますか?この状況で stdClass を作成してデータ コンテナーにする必要があることを軽蔑し、何かが足りないと感じています。

0 投票する
1 に答える
1810 参照

php - Laravel - モデルのメソッドを呼び出すと、未定義のメソッド Illuminate\Database\Query\Builder がスローされます

パラメータを使用したモデルのメソッドに問題があります。私は 2Pageとを持っていContentTranslationます。ContentTranslation言語に基づいて取得したいので、Pageモデルに次のメソッドがあります。

そして、PageController言語に基づいてページを取得する方法があります。

結果を JSON 形式で返しています (API として Laravel を使用しています)。しかし、このアプローチは機能しません。それは私にエラーをスローします:

未定義のメソッド Illuminate\Database\Query\Builder::contentTranslations() の呼び出し

少し前に、すべての言語に戻りたいと思っていたcontentTranslationsので、モデル メソッドにパラメーターがなく、foreach ループcontentTranslationsで呼び出した後、すべてが正常に機能しました。$page->contentTranslations;パラメータをメソッドに渡すときに問題が発生するのはなぜですか?

0 投票する
2 に答える
71 参照

laravel - Laravel での多対多の関係

モデル、データベース、コントローラーが別々のフォルダーにある Laravel 5.3 でアプリケーションを構築しようとしています。次のフォルダー構造があります。

私は多対多の関係を持つドメインで関係を築いています。

domain_theme内のテーブルに名前を付けました2017_01_07_140804_create_themes_domains_table.php

今、コントローラーのドメインに属するテーマ名を次のように取得しようとしています:

エラーが発生します:

SQLSTATE [42S02]: ベース テーブルまたはビューが見つかりません: 1146 テーブル 'nitswebbuilder.domain_domain' が存在しません (SQL: select domains.*, domain_domain. domain_idas pivot_domain_idfrom domainsinner join domain_domainon domains. id= domain_domain. domain_idwhere domain_domain. domain_idis null and domains. deleted_atis null)