PHP教程

关于thinkphp6中使用了field()将导致模型关联查找不到数据解决方案

本文主要是介绍关于thinkphp6中使用了field()将导致模型关联查找不到数据解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

案例回放

需求:我只要取profile中的某些字段进行进一步操作。

我们查询到了资料表

$profile = Profile::where('user_id', session('index_user_id'))->field(['avatar','nickname','bio'])->find();

Profile模型中有定义一个一对一的关联关系

    public function old()
    {
        return $this->hasOne(ProfileOld::class);
    }

查看关联数据

 dd($profile->old);

结果是 null

解决方案

使用hidden、visible和append 来对结果集进行控制

//查询出老的资料数据
$profile = Profile::where('user_id', session('index_user_id'))->find();


$needArr = $profile->visible(['avatar','nickname','bio'])->toArray();
这篇关于关于thinkphp6中使用了field()将导致模型关联查找不到数据解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!