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

php - Laravel 4では、ManyToMany関係を照会する方法は?

Laravel 4には次のテーブルがあります

私の質問:

次の 2 つのタグ「foo」と「bar」を持つすべてのアイテムを取得したいですか? 両方のタグが付いているアイテムのみを返品する必要があります!?

アップデート

以下を試してみましたが、うまくいきませんでした。問題は「->having」句にあると感じていますが、うまくいきませんでした。

タグ「foo」の ID が 1 で、「bar」の ID が 2 であると仮定します。

そしてそれを実行する

そのタグ 1 と 2 を持つすべてのアイテムを返す必要がありますが、何も返されません!

助けはありますか?

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

php - 「未処理の例外:空の値からデフォルトオブジェクトを作成する」

コードのスニペットを表示すると同時に、スニペットに作成できるコメントを表示しようとしています(私はスニペットコードと呼びます)。しかし、すべてのコメントを作成したユーザーのユーザー名を表示するのに問題があります。呼び出し時に各ユーザーがいることを期待していますwith(array('user', 'comments', 'comments.user'))が、未処理の例外が発生します。

0 投票する
14 に答える
233658 参照

laravel - Eloquentを使用してテーブル内のすべての行を削除するにはどうすればよいですか?

私の推測では、次の構文を使用することでした。

しかし、それはうまくいきませんでした。とてもシンプルだと思いますが、このテーマに関するドキュメントを検索しましたが、見つかりませんでした。

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

php - Laravel の 1 対多の関係

ユーザーが役割を持つLaravelでアプリを構築しています。

ユーザーモデルとreturn $this->belongs_to('Role')ロールモデルをセットアップしましreturn $this->has_many('User')た。ユーザーデータベーステーブルには列role_idがあります。

私の質問は、ユーザーモデルを介してロールを読み取り、更新することです。以下のコードは私が試してきたものですが、今のところうまくいきません:

コントローラ

意見

更新も同様の話です-$user->role = Input::get('role')どちらも機能しません。

私は明らかにここに何かが欠けています.誰かがこれを行う正しい方法を教えてくれますか?

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

model - コレクションの複数のリレーションを結合する

次の要点を考えると: https://gist.github.com/atrauzzi/6674488eb4fbd7a45671

Users have and belong to many Applications.

Applications have many PushMessages.

PushMessages belong to one Application.

ユーザーが関連するすべてのアプリケーションのすべての PushMessages を取得できるようにしたいと考えています。

要点を見るとQueryCode.php、物事を機能させるために何を変更する必要がありますか?

0 投票する
5 に答える
19767 参照

many-to-many - 多対多の関係の場合にピボットテーブルを更新するlaravel4

最近、Laravel4 を使い始めました。多対多の関係の場合、ピボット テーブル データの更新中に問題に直面しています。

状況は次のとおりです: ProductProductTypeの 2 つのテーブルがあります。それらの間の関係は多対多です。私のモデルは

ピボット テーブル prd_tags にデータを挿入しているときに、次のことを行いました。

しかし、このピボット テーブルのデータを更新したいのですが、データをピボット テーブルに更新する最良の方法は何ですか。たとえば、いくつかのタグを削除し、特定の商品に新しいタグを追加したいとします。

0 投票する
8 に答える
80362 参照

laravel - LaravelのEloquent/Fluentですべての行を同じ値に設定するにはどうすればよいですか?

データベース内のすべての行を更新して、すべての行の特定のフィールドが単一の値と等しくなるようにする必要があります。これが例です。

私のデータベーステーブルが次のようになっているとしましょう。

id データ 確認済み
1 someData 0
2 someData 1
3 someData 0

すべての行の確認済みフィールドを1に設定するクエリを実行したいと思います。

私はこのようにそれを行うことができます:

しかし、もっと良い方法があるように思われますか?「すべての行の「確認済み」フィールドを1に設定する」という単一のクエリ。

そのようなクエリはLaravelのEloquent/Fluentに存在しますか?

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

database - Laravelの2つの外部キーフィールドを持つ1対多のデー​​タベース

私はlaravelフレームワークを使用するためにいくつかのデータベーススキーマを定義しようとしています。サッカーの試合をモデル化したい。私がやりたかった最初のステップは、実体関連図を定義することですが、これ(これは非常に些細なことだと思いました)がいくつかの面で混乱していることがわかりました。

まず、明らかなアプローチは、試合は2つのチームに関連しており、チームは任意の数の試合に関連していると言うことです。したがって、「多対多」の関係になります。

しかし、多対多の関係の実装は、両方のエンティティを関連付けるために2つのテーブルと1つの中間テーブルを持つことです。マッチには常に2つのチームがあり、Teamsテーブルへの外部キーを持つ2つの列(local_idとvisitant_id)があるだけで十分であることがわかっている場合、これは多すぎると思います。さらに、私はできることをしたい:

それで、これを考えて、私は「1対多」の関係を実装していますが、これには別の問題があります。チームがプレイしたすべての試合を取得するには、次のようにします。

ただし、eloquentでmatches()メソッドを定義するときに指定できるキー列は1つだけなので、これを行うことはできません(デフォルトでは、team_idになりますが、visitant_idとlocal_idである必要があります)。

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

php - Laravel 4-Eloquentの一括割り当てにより、更新後に空のレコードが作成されます

L4(スケルトンとパッケージの両方)を最新バージョンに更新しました。

ここで、モデルの1つの新しいインスタンスを作成して、それをDBに保存しようとすると、タイムスタンプと主キーを除いて、空のレコードが取得されます。

この動作はすべてのモデル(ユーザー、入札単価、プロジェクトなど)で持続するため、ローカルの問題ではありません。

私は両方を試しました

そして、このスレッドに続いて

しかし、結果は同じです。空のレコードです。

0 投票する
3 に答える
966 参照

laravel - Laravelの「1対多」の関係は逆に機能しているようです

1 対多の関係と Eloquent に苦労しています。イベント (ショー イベントのように) があり、場所があります。各イベントは 1 つの場所に関連付けられていますが、各場所は多くのイベントをホストするために使用される場合があります。(1)場所から(多数)イベントへ。

ここに私のモデルがあります:

エコーアウトしようとすると:

エラーが発生します:

現在...「iaevent_id」は場所テーブルにありません。むしろ、1 つの場所が多くのイベントに適用される可能性があるため、「location_id」を「ievents」テーブルに入れますが、その逆は決してありません。ここで私は何を間違えましたか?

Laravel フォーラムで、誰かが私の Iaevent モデルで「has_one」を「belongs_to」に置き換えることを提案しました。これを行うと、エラーが発生しますTrying to get property of non-object

他の方法で関係をテストすると、echo Location::find(1)->iaevents()->first()->name;問題なく動作します。