我的this解决方案在Laravel 5.3中运行良好

$procedure = Procedure::findOrFail($id);
$attached_stages = $procedure->stages()->getRelatedIds()->toArray();

在我的Procedure模型中:
public function stages()
{

    return $this->belongsToMany('App\Models\Stage', 'procedure_stage', 'procedure_id', 'stage_id')->withPivot('id','status')->withTimestamps();
}

现在,在迁移到Laravel 5.4之后,出现以下错误:
Call to undefined method Illuminate\Database\Query\Builder::getRelatedIds()

似乎getRelatedIds已被删除。

我的问题:

如何在5.4中获取数组?

先感谢您。

最佳答案

要获取id数组,可以使用pluck函数

$procedure->stages()->pluck('stages.id')->toArray();

关于php - 从belongsToMany关系中获取相关ID的数组-Laravel 5.4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42053194/

10-11 08:15