Pet*_*ter 3 php laravel laravel-5 laravel-5.4
我有这个解决方案在Laravel 5.3中运行良好
$procedure = Procedure::findOrFail($id);
$attached_stages = $procedure->stages()->getRelatedIds()->toArray();
Run Code Online (Sandbox Code Playgroud)
在我的Procedure
模型中:
public function stages()
{
return $this->belongsToMany('App\Models\Stage', 'procedure_stage', 'procedure_id', 'stage_id')->withPivot('id','status')->withTimestamps();
}
Run Code Online (Sandbox Code Playgroud)
现在,在迁移到Laravel 5.4后,我收到此错误:
Call to undefined method Illuminate\Database\Query\Builder::getRelatedIds()
Run Code Online (Sandbox Code Playgroud)
似乎getRelatedIds
已被删除.
如何在5.4中获取数组?
先感谢您.
要获取id数组,可以使用pluck函数
$procedure->stages()->pluck('stages.id')->toArray();
Run Code Online (Sandbox Code Playgroud)
它已被删除(基本上,更改名称,仅此而已)从5.4,但你有另一个名称,因为我看起来深入belongToMany.php
文件.使用它并且它应该非常好用.
$attached_stages = $procedure->stages()->allRelatedIds()->toArray();
Run Code Online (Sandbox Code Playgroud)
希望这能帮到你,以及将来会遇到这个问题的其他人,并看看这篇文章.
归档时间: |
|
查看次数: |
4324 次 |
最近记录: |