如何在laravel 5中使用sync更改标准ID

时间:2015-05-01 15:09:06

标签: laravel eloquent sync laravel-5

是否可以选择使用同步更改标准ID?

我想存储数据透视表ID而不是普通ID。

请参阅此处的示例:

    foreach($foor->bar as $bar) {
        if(in_array($bar->id, array_keys($request->input('options')))) {
            $bar->options()->sync($request->input('options')[$bar->id]);
        }
    }

我想要使用$ bar-> pivot-> id的ID而不是$ bar id,我该如何实现?

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,但我可以猜测这应该有用:

为了能够使用相关模型的列,请在查询中添加with('relation')。这将迫切地将相关模型加载到结果中。

@See:http://laravel.com/docs/5.1/eloquent-relationships#eager-loading

$foo = App\Bar::with('options')->all();
foreach ($foo as $bar) {
    echo $bar->options->id
}

这可以让您访问选项的ID,您的代码可以是

foreach($foor->bar as $bar) {
    if(in_array($bar->option->id, array_keys($request->input('options')))) {
        $bar->options()->sync($request->input('options')[$bar->option->id]);
    }
}