問題タブ [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.
php - Laravelでチェーン可能なメソッドを作成する
私はlaravelの雄弁な方法で独自のチェーン可能なメソッドを作成しようとしていますが、何かが足りず、何がわからないのです。これは少しおかしなことに聞こえるかもしれませんが、私が言おうとしていることをよりよく理解するために、以下の私の関数を見てください。
私が正しく理解している場合、私のメソッドは別のメソッドの後にチェーンする資格がありませんか?だから私の質問は、モデルでチェーン可能なメソッドをどのように作成できるかということだと思います。
PS私はlaravelのクエリビルダークラスを調べました。チェーン可能なメソッドがそのオブジェクトのインスタンスを返すことを確認しましたが、上記のコードで行った方法以外にオブジェクトを返す方法を見つけることができませんでした。どんな種類の提案やアドバイスも大歓迎です。前もって感謝します。
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
,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_at
created_at
そのすべてを読みたくない場合は、単にEloquentが必要な列名を使用していることを意味し、MY列名ではなく、それぞれの名前と値を明確に指定した場合でも.
私は何をすべきか?可能であれば、「列の名前を変更してください」と言わないでください。これは、多くの列の名前を変更することを意味するためです (私は多くのテーブルを持っています)。その上、列名の特定の命名規則についてはどこにも読んでいませんでした。
laravel - Laravel Eloquent AS キーワード
キーワード AS を使用して 2 つの列を結合しようとしているので、その列で並べ替えることができます。
これは現時点での完全なクエリです。
やりたい
ありがとうございました。
解決
DB::raw() を使用することが唯一の方法であるように見えますが、Laravel/Eloquent は AS を理解していません。
作業ソリューションは
php - Laravel Eloquentは2つのオプションフィールドを検索します
雄弁を使用して2つのオプションのテーブルを検索しようとしています:
これは、ユーザーが空の検索を行ったときにすべての結果を返すのに問題なく機能しますが、バンド名が存在するときにバンド名を検索するように調整する方法がわかりません。
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"
ポインタをありがとう
php - LaravelEloquentの出力c
私はLaravelのEloquentを使用していますが、ほとんどの場合問題はありません。しかし今、私は問題にぶつかっていて、それを修正できないようです。Googleには解決策がありません...
会社モデルの関係:
クレデンシャルはすべてのページに「c」をエコーします。ドキュメントタイプの前に「c」が出力されます。クレデンシャル行を削除すると、「c」が消えます。
ページソース:
誰?
mysql - LaravelのELOQUENT ORMで結果を「制限」する方法はありますか?
LaravelのELOQUENT ORMで結果を「制限」する方法はありますか?
そして雄弁で?
php - 雄弁な1対多を使用するときに2番目のテーブルで「order_by」する方法
もちろん、結果が部分的であるため、最初のテーブルの列では order_by を使用できますが、2 番目のテーブルの列では使用できません。
「結合」を使用すると、すべてが完璧に機能しますが、雄弁にこれを達成する必要があります。私は何か間違ったことをしていますか?
これは例です:
php - Laravel で DB リレーションシップを連鎖させる方法 (複数の has_many?)
私は素晴らしい Laravel を使用していますが、データベースの問題で立ち往生しています。
次のように、3 つのテーブルがあるとします。
表 1: ページ
表 2: 要素
表 3: コンテンツ
そのページIDを持つすべての要素を順番に選択するページに対して単一の選択を行い、要素ごとに要素IDを持つすべてのコンテンツ行を選択する必要があります。
ページ モデルに静的なload_by_route($route)関数が必要です。呼び出されると、ルートを使用してページ情報と要素およびコンテンツをロードして返します。理想的には、このすべての情報を含む単一のオブジェクト/配列を返します。
基本的に、has_many() 呼び出しを連鎖させて 2 レベルの関係を得る方法がわかりません。
php - モデルが自分自身の中で自分自身を呼び出すのは悪い習慣ですか?
Laravel で Eloquent を使用した例を次に示します。
私がCMSに取り組んでいるとしましょう。
- コントローラーはルートを取得し、ルートを介してページを検索します。
- モデルは、ルートを使用して探している行のIDを把握する静的関数を提供します
- モデルはそれ自体を使用してデータベース クエリを実行し、結果を返します。
コントローラーコードの例:
モデルコードの例:
「そもそもなぜPage::where('route', '=', $route)->first()を使えないのかと尋ねる前に、私はこの例の「やり方」について疑問に思っていません。ページモデル内で Page:: を使用するのは悪いことでしょうか?