多态关联和获取器貌似有冲突

浏览:280 发布日期:2018/11/12
5.0.0 - 严重 - 未处理
定义动态获取器 模型定义多态关联 获取的时候会使用被获取器修改了的数据 public function commentable()
    {
        return $this->morphTo('commentable',[
            'book'    =>    'app\index\model\Book',
            'post'    =>    'app\admin\model\Article',
        ]);
    }
使用获取器 $result = Article::withAttr('commentable',function($val){
$arr = ['book'=>'xxx','post'=>'xxxx'];
return $arr[$val] ?? '未知';
})->with(['commentable'])->find(1);
就会有一个异常 app\index\model\xxx not found

以上代码是按照文档中的例子写的 并不是实际代码 不过逻辑是一样的

最后发现是可以在最后调用去解决的

$result->withAttr() 放到查询之后可以解决!
评论(
后面还有条评论,点击查看>>