改变关系记录Laravel5.2

时间:2016-07-22 21:34:55

标签: laravel eloquent laravel-5.2

我有以下问题,我有两个模型Level和Class:Level有关系 classes(),然后获得关卡课程后:

$parameters

返回的数据如下:    {       “id”:1,       “名字”:“1级”     },     {       “id”:2,       “名字”:“2级”     } 现在我想丢弃2级,我试过这个但是它不起作用:

$level->classes

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以使用预先加载来完成您想要的任务。如果您只想要一个级别,那么在“')之后也必须为此添加约束”。在' - > get();'

之前

https://laravel.com/docs/5.2/eloquent-relationships#eager-loading

$ids = [2];

$levels = Level::with(
    [
        'classes' => function ($query) use ($ids) {
            $query->whereIn('id', $ids);
        }
    ]
)->get();

答案 1 :(得分:1)

使用此:$level->classes()->whereIn('id', $ids)->get()

这将返回一个Relation类的实例,它将所有方法都作为普通查询构建器。