[解決済み] Laravel Eloquent - アタッチとシンクの違い
2023-08-02 22:47:50
質問
とはどのような違いがあるのでしょうか?
attach()
と
sync()
をLaravel 4のEloquent ORMで使うことはできますか?いろいろ探してみたのですが、見つかりませんでした
どのように解決するのですか?
attach()を実行します。
- 多対多のリレーションを扱うときに関連するモデルを挿入する
- 配列パラメータが期待されない
例
$user = User::find(1);
$user->roles()->attach(1);
sync():
に似ていて
attach()
メソッドと同様に
sync()
メソッドは、関連するモデルを添付するために使用されます。ただし、主な違いは
-
sync()
ピボット・テーブルに配置する ID の配列を受け取ります。 - 次に 最も重要 で、同期メソッドは、配列にモデルが存在しない場合、ピボット・テーブルからデータを削除し、ピボット・テーブルに新しい項目のみを挿入します。
例を示します。
ユーザ名
id user_id role_id 1 12 1 2 12 5 3 12 2
$user = User::find(12);
$user->roles()->sync(array(1, 2, 3));
上記の操作で削除されます。
id user_id role_id 2 12 5
そして
role_id 3
をテーブルに挿入します。
user_roleテーブル
id user_id role_id 1 12 1 3 12 2 4 12 3
関連
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] PHP Composerを使ってLaravelからパッケージを削除するにはどうしたらいいですか?
-
[解決済み] Laravel Eloquentを使用して複数のWhere句クエリを作成する方法?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】Laravel - Eloquent "Has", "With", "WhereHas" - これらの意味は何ですか?
-
[解決済み】Laravel Eloquent。all()の結果の順序付け
-
[解決済み】eloquent ORMを使用したLaravelの一括挿入
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] ロード時にLaravel / Eloquentモデルにカスタム属性を追加しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Weird PHP error: 'Can't use function return value in write context'.
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?