laravel的逻辑问题

使用 laravel 8 的时候,遇到逻辑问题#

网页报错:Attempt to read property “name” on null
问题出在了这一步

{{ $job->getAssignedToForUser($user) }}

相关的文件有三个 model: User, Company 和 Job

class User extends Authenticatable
{
......
    public function company() 
    {
        return $this->belongsTo('App\Models\Company')->withTrashed();
    }

    public function job() 
    {
        return $this->hasMany('App\Models\Job');
    }
......
}
class Company extends Model
{
......
    public function jobAssignments()
    {
        return $this->hasMany('App\Models\Job');
    }
.....
}
class Job extends Model
{
......
    public function getAssignedToForUser($user)
    {
        if ($this->child) {
            return $this->child->company->name;
        }
        return $this->user->name;
    }

    public function company() 
    {
        return $this->belongsTo('App\Models\Company');
    }

    public function user() 
    {
        return $this->belongsTo('App\Models\User');
    }
......
}

一个 controller:DashboardController

.....
public function index(Request $request)
    {
        $user = $request->user();
        $company = $user->company;
        $jobOwner = $request->input('job_owner', 'me');

        if ($jobOwner == 'all') {
            $jobProvider = $user->company;
        } else {
            $jobProvider = $user;
        }

        $upcomingJobs = $jobProvider->jobAssignments()
                    ->where('status', JobAssignment::STATUS_ASSIGNED)
                    ->whereHas('job', function ($query) {
                        $query->where(function ($query) {
                            $query
                                ->whereNotNull('confirmed_start_date')
                                ->where('confirmed_start_date', '>=', Carbon::today());
                        });
                    })
                    ->get();

        return view('dashboard.index', [
            'jobOwner' => $jobOwner,
            'upcoming' => $upcomingJob,
            'user' => $user,
        ]);
    }

当查看个别用户的 jobs 的时候,没有问题,可是当查看 Company 的 All Jobs 的时候,$this->child->company 给出 null, 但 $this->child 是一个 job instance。

希望有大神指点一下。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。