問題タブ [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 - Laravel 4 Eloquent ORM: 複合主キーを持つピボット テーブル エントリを更新する方法
次のような多対多の関係があります。
blocker と blocked_user_id は複合主キーであり、どちらもユーザー テーブルの user_id への外部キーとして存在します。どちらのテーブルも InnoDB です。
次のことをしようとすると:
user_blocks テーブルではなく、user テーブルの列を更新したいと考えているようです。これは単純に、ユーザー テーブルが存在しない列で更新されようとしている場合の SQL エラーunblocked
です。
例の $blocked_user の割り当てに->pivot
andを追加してみました。->pivot()
前者では Eloquent\Model::performUpdate でエラーが発生しCall to a member function update() on a non-object
、後者call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Database\Query\Builder' does not have a method 'pivot'
では Eloquent\Builder::__call でエラーが発生します。
ユーザー テーブルのモデルは、それ自体との関係を次のように定義します。
複合主キーを使用して Eloquent モデルを定義する方法がわからないため、user_blocks テーブルのモデルはありません (どこでも検索しましたが、誰も尋ねた質問ではないようです)。
スキーマがEloquent用に最適化されていないことは認識していますが、これは事前に確立されたスキーマを持つCodeigniterプロジェクトに雄弁を移植しています. Codeigniter モデルを使用するよりも、そうでなければ楽しい経験です。
php - Eloquent Laravel 4 パッケージのデータベース構成フォーマット
Laravel 4 フレームワークで実行することを意図した composer パッケージを作成する場合、次のようなデフォルトのデータベース接続セットを作成したいと考えています。
オンラインで見つけることができるすべてのドキュメントによると、サービスプロバイダーパターンを使用してプロジェクトを登録し、呼び出し$this->package('my/package')
ます。Laravel 4 は、このファイルを魔法のようにロードし、構成でアクセスできるようにすることになっています。
そして、私は私が呼び出すことができることを確認しました
上記の配列を返します。
ただし、Eloquent Model ファイルを作成し、次を使用して接続を設定しようとすると、
うまくいきません。次のような例外が発生します。
パッケージのデフォルト設定を使用して接続リゾルバーをデータベースに接続するために使用する必要があるマジック ストリング形式はありますか?
ご協力いただきありがとうございます!
php - Laravel Eloquentがnullを返すことを発見
Eloquents の find メソッドを使用してデータベースからレコードを取得しようとしていますが、予期せず null が返されます。データベースでクエリを手動で実行すると、予想されるレコードが返されます。
私はLaravelで以下を使用しています:
そして、データベース上で直接以下:
主キー列の名前は「id」で、型は smallint(5)、符号なし、ゼロフィル、自動インクリメントが設定されています。上記の「手動」クエリは、Laravel が何を実行する必要があるかに従って、Laravel ドキュメントに基づいています。
報告されたエラーはありません (確認できます)。Eloquent メソッドを「all」に変更すると、すべてのレコードが正しく返されます。
mysql - ELOQUENT update db with save();
ここで何が間違っていますか?
データをデータベースに保存しません。すべての列から何を更新する必要があるかわからないため、「foreach」ループを使用する必要があります。
php - Laravel Eloquent:アイテム数モデルの関係
LaravelとEloquentクラスを使用しています。私は3つのモデルを持っています。
City.php:
Itinerary.php:
Itinerarytype.php:
ご覧のとおり、都市には多くの旅程があり、旅程は都市と旅程タイプに属しています。itinerarytypeモデルには多くの旅程があります。
このwith()
メソッドを使用して、旅程タイプにグループ化された旅程の数を取得することは可能ですか?
たとえば、これまでに私が持っているものは次のとおりです。
これは、そのナメクジとそのすべての旅程を持っている都市を取得します。
次のようなリストを取得したいのですが(テキストは旅程タイプで、番号はカウントです)
php - 特定のエントリを見つけながら、Laravelに熱心にロードする方法
特定のユーザーとそのユーザープロファイルを熱心にロードしたいと思います。私のテーブルとクラスは、それぞれusersとUserと呼ばれます。私のプロファイルテーブルとクラスはuser_profilesとUserProfileです。
これは私が試していることですが、うまくいかないようです
laravel - Laravel 3: 多対多のピボット テーブル用に Eloquent モデルを作成する方法はありますか?
私がやろうとしているのは、ピボット テーブルへの関係を追加することです。ピボット テーブルがロール テーブル上に独自の has_one リレーションを必要とするというユニークなシナリオがあります。ピボット テーブル専用の Eloquent モデルを作成する際に問題が発生することはありますか? また、このモデルを作成した場合、次のモデルを返す方法はありますか?
具体的には、次のことができるようになりたいです。
php - PDO::FETCH_ASSOC を使用して返された配列を介してそれぞれの Laravel 3
私は Laravel 3 を使用していますが、これは素晴らしいと思います。わかりました、私を助けるために連想配列を返すようにDB構成を設定しました。私のコントローラーは正常に動作します。私が抱えている問題は次のとおりです。返された複数のアレイをブレード テンプレートに渡して、for each を循環させるにはどうすればよいですか?
例えば:
これは以下を返します:
$data 配列をテンプレートに渡すと、配列の各プロパティにアクセスする方法に迷います
次のことをしようとすると、変数 $data が見つかりませんと表示されます。
おそらく簡単だと思いますが、DocsやCode Happyで答えが見つからないようです...
ありがとう
laravel - Hash::make メソッドを使用してテーブル内のすべてのエントリを更新する
アプリをLaravelに移植していて、Authクラスを使用しているため、usersテーブルのすべてのパスワードをbycryptに変更する必要があります(を使用Hash::make()
)。
問題は、ユーザー名をデフォルトのパスワードとして使用したいということです (したがって、移行が完了すると、ユーザー「Mario」のパスワードは「Mario」になります) — 移行を介してデータベースのすべてのエントリでこれを行いたいです。 、しかし、選択の値を取得してハッシュし、更新で使用する方法がわからないため、作成できないようです。
ループを使わずにこれを行う方法はありますか? (つまり、ユーザーごとに 1 つのクエリを作成する必要はありません)
編集:はい、これはループなしでは不可能です。に気づいた。そして、@Adrenaxus は正しい答えを持っています。