1

2 つのテーブルがあり、テーブルの外部キーを受け取る1 対多の関係がありLanguageます。TextTextLanguage

モデルと関係を適切に設定しました。モデルの取得は問題なく機能します。

Languageエンティティを特定の既存のTextレコードに関連付けるにはどうすればよいですか。

いくつかのレコードを取得して、それらを使用してText挿入しようとしましたLanguage

$language = Language::find(1);
$textRecords = TextRecord::where('id', 'IN', array(1,2,3,4,5,6,7))->get();
$language->texts()->insert($textRecords);

texts()返しますhasMany('Text')

laravel が返すエラーは ..

Unknown column '0' in 'field list' (SQL: insert into `ayah_text` (`0`, `1`....

値に ' の代わりにブロック引用符 ` を使用しようとしている理由がわかりませんLaravel..

さらに、既存のレコードを更新するのではなく、新しいレコードを挿入しているようです..

4

3 に答える 3

2

試す$language->texts()->associate($textRecords);

于 2013-11-11T16:14:51.443 に答える
0

Laravel 4 では whereIn メソッドを使用します

$textRecords = TextRecord::whereIn('id', array(1,2,3,4,5,6,7))->get();
于 2014-03-09T11:06:25.013 に答える