在Laravel& amp;更新相关模型(外键)雄辩

时间:2013-11-10 20:23:45

标签: php laravel laravel-4 eloquent fluent

有两个表格Language& Text具有一对多关系,其中Text接收Language表的外键。

我已经建立了模型&关系正常和模型的检索工作得很好。

如何将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尝试使用块引号`而不是'for values ..

另外,它似乎是插入新记录而不是更新现有的..

2 个答案:

答案 0 :(得分:2)

尝试$language->texts()->associate($textRecords);

答案 1 :(得分:0)

在Laravel 4中使用whereIn方法

$textRecords = TextRecord::whereIn('id', array(1,2,3,4,5,6,7))->get();