問題タブ [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 投票する
5 に答える
5185 参照

php - Laravelでチェーン可能なメソッドを作成する

私はlaravelの雄弁な方法で独自のチェーン可能なメソッドを作成しようとしていますが、何かが足りず、何がわからないのです。これは少しおかしなことに聞こえるかもしれませんが、私が言おうとしていることをよりよく理解するために、以下の私の関数を見てください。

私が正しく理解している場合、私のメソッドは別のメソッドの後にチェーンする資格がありませんか?だから私の質問は、モデルでチェーン可能なメソッドをどのように作成できるかということだと思います。

PS私はlaravelのクエリビルダークラスを調べました。チェーン可能なメソッドがそのオブジェクトのインスタンスを返すことを確認しましたが、上記のコードで行った方法以外にオブジェクトを返す方法を見つけることができませんでした。どんな種類の提案やアドバイスも大歓迎です。前もって感謝します。

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

mysql - Laravel 4 の Eloquent ORM を使用しているときに、独自の列名を使用するにはどうすればよいですか?

次の MySQL テーブルがあるとします。

Eloquent モデルを使用して、上記の列名を使用してテーブルに新しい行を記録するにはどうすればよいですか? ドキュメントで説明されているように試してみると:

次のエラーが表示されます。

例外: SQLSTATE[42S22]: 列が見つかりません: 1054 不明な列 'user_name' が 'フィールド リスト' にあります (SQL: insert into backend_users ( user_name, password, salt, needs_new_password, full_name, email, )値 (? role_type, ? enabled, ?, ?, ?, ?, ?, ?, ?, ?)) (バインディング: 配列 ( 0 => 'emmanuel', 1 => '70b104a42c4ac5e79ca7c150bf872b383e0eedca', 2 => '5514512bffb33f4a', 3 => 0, 4 => 'Emmanuel Figuerola', 5 => 'somemail@gmail.com', 6 => 0, 7 => 1, 8 => DateTime::__set_state(array( 'date' => '2013-02-26 00:20:03', ' timezone_type' => 3, 'timezone' => 'UTC', )), 9 => DateTime::__set_state(array( 'date' => '2013-02-26 00:20:03', 'timezone_type' => 3, 'timezone' => 'UTC', )), ))updated_atcreated_at

そのすべてを読みたくない場合は、単にEloquentが必要な列名を使用していることを意味し、MY列名ではなく、それぞれの名前と値を明確に指定した場合でも.

私は何をすべきか?可能であれば、「列の名前を変更してください」と言わないでください。これは、多くの列の名前を変更することを意味するためです (私は多くのテーブルを持っています)。その上、列名の特定の命名規則についてはどこにも読んでいませんでした。

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

laravel - Laravel Eloquent AS キーワード

キーワード AS を使用して 2 つの列を結合しようとしているので、その列で並べ替えることができます。

これは現時点での完全なクエリです。

やりたい

ありがとうございました。


解決

DB::raw() を使用することが唯一の方法であるように見えますが、Laravel/Eloquent は AS を理解していません。

作業ソリューションは

0 投票する
4 に答える
8134 参照

php - Laravel Eloquentは2つのオプションフィールドを検索します

雄弁を使用して2つのオプションのテーブルを検索しようとしています:

これは、ユーザーが空の検索を行ったときにすべての結果を返すのに問題なく機能しますが、バンド名が存在するときにバンド名を検索するように調整する方法がわかりません。

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

laravel - LaravelEloquentORMの多対多のwhere_in構文

LaravelのEloquentORMを使用して結合クエリを作成するのに苦労しています

多対多の関係を持つ2つのクラスがあります

私のデータベースには、types、activitys、およびactivitys_typesテーブルがあります

次のSQLクエリを再作成しようとしています

ORM構文を理解していません。私はもう試した

$ activitys = Activity :: types()。where_in( "id"、$ types)-> get();

しかし、エラーが発生します"Non-static method Activity::types() should not be called statically, assuming $this from incompatible context"

ポインタをありがとう

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

php - LaravelEloquentの出力c

私はLaravelのEloquentを使用していますが、ほとんどの場合問題はありません。しかし今、私は問題にぶつかっていて、それを修正できないようです。Googleには解決策がありません...

会社モデルの関係:

クレデンシャルはすべてのページに「c」をエコーし​​ます。ドキュメントタイプの前に「c」が出力されます。クレデンシャル行を削除すると、「c」が消えます。

ページソース:

誰?

0 投票する
4 に答える
182583 参照

mysql - LaravelのELOQUENT ORMで結果を「制限」する方法はありますか?

LaravelのELOQUENT ORMで結果を「制限」する方法はありますか?

そして雄弁で?

0 投票する
4 に答える
3539 参照

php - 雄弁な1対多を使用するときに2番目のテーブルで「order_by」する方法

もちろん、結果が部分的であるため、最初のテーブルの列では order_by を使用できますが、2 番目のテーブルの列では使用できません。

「結合」を使用すると、すべてが完璧に機能しますが、雄弁にこれを達成する必要があります。私は何か間違ったことをしていますか?

これは例です:

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

php - Laravel で DB リレーションシップを連鎖させる方法 (複数の has_many?)

私は素晴らしい Laravel を使用していますが、データベースの問題で立ち往生しています。

次のように、3 つのテーブルがあるとします。

表 1: ページ

表 2: 要素

表 3: コンテンツ

そのページIDを持つすべての要素を順番に選択するページに対して単一の選択を行い、要素ごとに要素IDを持つすべてのコンテンツ行を選択する必要があります。

ページ モデルに静的なload_by_route($route)関数が必要です。呼び出されると、ルートを使用してページ情報と要素およびコンテンツをロードして返します。理想的には、このすべての情報を含む単一のオブジェクト/配列を返します。

基本的に、has_many() 呼び出しを連鎖させて 2 レベルの関係を得る方法がわかりません。

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

php - モデルが自分自身の中で自分自身を呼び出すのは悪い習慣ですか?

Laravel で Eloquent を使用した例を次に示します。

私がCMSに取り組んでいるとしましょう。

  • コントローラーはルートを取得し、ルートを介してページを検索します。
  • モデルは、ルートを使用して探している行のIDを把握する静的関数を提供します
  • モデルはそれ自体を使用してデータベース クエリを実行し、結果を返します。

コントローラーコードの例:

モデルコードの例:

「そもそもなぜPage::where('route', '=', $route)->first()を使えないのかと尋ねる前に、私はこの例の「やり方」について疑問に思っていません。ページモデル内で Page:: を使用するのは悪いことでしょうか?