Laravel 4使用数组更新所有记录会给出参数不匹配错误

时间:2014-10-13 20:59:35

标签: arrays laravel-4 eloquent

尝试使用通过查询另一个数据库创建的多维数组更新表的每一行。

数组:

Array
(
    [0] => Array
        (
            [community_id] => ap
            [floorplan_code] => ap1-1a
            [name] => 33flat
            [hidden] => 0
        )

    [1] => Array
        (
            [community_id] => ap...

以下是我尝试更新时使用的代码:

$floorPlan = new Floorplan; //create new instance
$floorPlan->get();  //get all rows
$floorPlan->update($floorplanMappedArray);  //map db columns to array and update

错误消息:preg_replace():参数不匹配,pattern是一个字符串,而replacement是一个数组。

1 个答案:

答案 0 :(得分:0)

参数不匹配来自于我试图将多维数组推入单行的事实。因此,我需要一个foreach循环来索引多维数组。

我认为使用update()方法有一种神奇的方法,就像使用insert()方法一样。显然,没有。

以下是解决参数不匹配错误的代码:

foreach ($floorplanMappedArray as $floorPlan) {
    Floorplan::where('floorplan_code', $floorPlan['floorplan_code'])->update($floorPlan);
}