問題タブ [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.
laravel - Eloquent クエリ ビルダー - hasOne エラー
これは私を夢中にさせています。2 つのテーブルがあります。
- 説明と
- トランザクション。
私が持っているモデルフォルダーtransaction.php
にexplanation.php.
トランザクション.php:
説明.php
私はただ電話している
私が受け取っているエラーは
メソッド [hasone] は Query クラスで定義されていません
誰かが私が間違っているところを見ることができますか?
laravel - Laravel/雄弁な関係の問題
次の情報を持つ「ユーザー」というモデルがあります。
次の情報を含む「ステータス」というモデルがあります。
生のクエリを実行すると、当然 2 つのテーブルが結合users.status_id = status.id
されますが、Laravel の Eloquent ORM を使用してユーザーのステータス テキストを取得したいと考えています。
例えば。User::find(1)->status()->description
has_one
、has_many
、など、さまざまな機能が提供されていますbelongs_to
が、どれも機能しません。どうすればこのようなことができるかについて誰かアイデアがありますか?
pagination - Laravel-Eloquentで取得した結果のページ付け
これは私が私のコントローラーに持っているものです
そしてこれは私の見解です
しかし、ブラウザで表示すると、すべてのページのすべての行が表示されます...リンクは完全に表示されています!何が問題だと思いますか?助けてください!よろしくお願いします!
php - すべてのモデルのEloquent preおよびpost saveへのlaravelフック
私はLaravelとORM全般に不慣れです。モデルを保存する前後にEloquentにフックしてコードを起動するにはどうすればよいですか? 特定のモデルに対して次のことができることは知っていますが、すべてのモデルに対してこれを行う方法を考えています。
mysql - Laravelの雄弁なものを使用したmysqlサブクエリ
雄弁にサブクエリを実行する方法を考えていました。これが、実行したいサブクエリと、雄弁なモデル構造で使用しているデータベースを含む要点です。
基本的に、サブクエリを含むクエリを実行するためにeloquentを使用したいと思います。DB :: query();を使用できることはわかっています。生のクエリを実行するメソッド、または結合を使用してみることができますが、雄弁に固執したいと思います。どんな種類のアーキテクチャの提案も歓迎されます。なぜなら、まったく同じクエリを使用せずに、eloquentを使用して同じ結果を取得する方法を見逃している可能性があるからです。
前もって感謝します。
php - Laravel 3多対多の関係がクエリをバインドしない
私は多対多の関係の文書化に取り組んでおり、ある種のレンガの壁にぶつかりました。既存のデータベース スキーマを使用して Laravel/Eloquent をラップしようとしていますが、これにはさまざまな外部キー フィールドについて Eloquent に教える必要があります。以下は、私の 2 つのモデルと、クエリの出力を表示する DB::profile() の結果です。クエリは正常に作成されますが、UserID はバインドされていないことに注意してください。
私のコードでは、モデルを User::find(1)->roles として呼び出しています。その特定のユーザーの役割の配列を取得することを期待していますが、空です。
ユーザーモデル
ロールモデル
DB::profile() 出力
結果のクエリは良好です。これをサーバーで直接実行すると、UserID = 1 に対して 2 つのグループが返されます。バインドは行われておらず、これがバグなのか、Eloquent を誤用しているのかはわかりません。
ありがとう!
php - 雄弁、関係を探る
WHERE name LIKE %acme%
リレーションシップを使用してフィールド値を(のように) 検索するための正しい手順は何ですか?
Client
属しているモデルがあるとしましょうCompany
。ここで、フィールドを介してフィルタリング (検索) したいと思い$client->company->name
ます。
私はもう試したClient::where('company.name', 'LIKE', 'acme')->get();
しかし、うまくいきません...
熱心な読み込みを設定しました...$includes = array('company')
編集:私の関係が機能していることを忘れていました...
ありがとうございました!
many-to-many - Laravel 4 Eloquent:多対多でテーブルへの参加条件
以前にCodeigniterで使用されていたデータベースのロジックを書き直そうとしています。多対多結合の条件の一部が次のように結合テーブルに格納されるように設計されています。
この場合、アバターテーブルを介してユーザーに関連付けられたすべての画像を取得し、アップロードされた時間の降順で、削除されたアバターを含めないようにします(deleted_timestampはnullではありません)。
EloquentのhasManyを使用すると、結合テーブルの条件が許可されないことがわかりました。この効果を達成するための最もクリーンな方法は何ですか、またはCodeigniterのアクティブレコードクラスで使用していた方法で完全なクエリを構築することに頼る必要がありますか?
注:を使用することを提案するこの回答を見つけまし->hasMany(..)->with('another_column_from_pivot_table')
たが、それはLaravel3のEloquent実装でのみ機能するようです。どうやら->withはイーガーローディング専用になりました。
php - Laravel Eloquent:属性とdb行に異なる名前を付けます
Laravelフレームワークを使ったアプリケーションの作成を初めて始めました。
Eloquentは非常に強力でコードを節約するツールのようですが、モデルでデータベーステーブルとは異なる属性名を使用する方法がわかりません。
ここに私の対立:
データベース:iddog、dtname、dtbirth、dtfoo、fimom、fidad
属性:id、name、birth、foo、mom、dad
LaravelフレームワークのEloquentから拡張されたモデルでそれを行う可能性はありますか?関連するデータベースフィールドとは異なる名前の属性?
または、ここで行うように、データベーステーブルのフィールドを呼び出すのはもうクールではありませんか?
前もって感謝します!
laravel - LaravelEloquentの1対多の関係
LaravelのEloquentORMが関係のデータを返すようにするのに本当に問題があります。
私の移行(データベーススキーマ):
モデル
File.php
User.php
ルート.php
エラー:
未処理の例外
メッセージ:
オブジェクト以外の場所のプロパティを取得しようとしています:
C:\ wamp \ www \ l3_mlib \ application \ routers.php、51行目スタックトレース:
#0 C:\ wamp \ www \ l3_mlib \ laravel \ laravel.php(42):Laravel \ Error :: native(8、'Pを取得しようとしています...'、'C:\ wamp \ www\l3_。。 。'、51)#1 C:\ wamp \ www \ l3_mlib \ application \ routers.php(51):Laravel {closure}(8、' try to get p ...'、' C:\ wamp \ www \ l3 _...'、51、Array)#2 [内部関数]:{closure}()#3 C:\ wamp \ www \ l3_mlib \ laravel \ routing \ route.php(163):call_user_func_array(Object(Closure) 、配列)#4 C:\ wamp \ www \ l3_mlib \ laravel \ routing \ route.php(124):Laravel \ Routing \ Route-> response()#5 C:\ wamp \ www \ l3_mlib \ laravel\laravel。 php(167):Laravel \ Routing \ Route-> call()#6 C:\ wamp \ www \ l3_mlib \ public \ index.php(34):require('C:\ wamp \ www \ l3 _...' )#7{メイン}
私は何が間違っているのですか?