为了账号安全,请及时绑定邮箱和手机立即绑定

在 null 上调用成员函数 attach() 时出错

在 null 上调用成员函数 attach() 时出错

PHP
白衣染霜花 2023-03-26 16:02:20
我想创建标签系统,但我有一个错误“Error Call to a member function attach() on null”。看看我的代码关系:作业.phppublic function services(){        $this->belongsToMany('App\Jobervices');    }工作服务.phppublic function jobs(){    $this->belongsToMany('App\Job');}我创建了数据透视表Schema::create('job_jobservices', function (Blueprint $table) {    $table->id();    $table->integer('job_id');    $table->integer('jobservices_id');    $table->timestamps();});控制器和视图在控制器中,我尝试附加我的服务。看这个。$job = Job::create([           'title'          => $request->title,           'description'     => $request->description,           //...        ]);$job->services()->attach($request->services);我认为,$request->services 很好,因为如果我尝试 dd($request->services),它会向我显示 这个,但以防万一我会向您展示我的观点<select class="js-example-responsive col-12" multiple="multiple" name="services[]">    @foreach($services as $service)        <option value={{ $service->id }}>{{ $service->name }}</option>    @endforeach</select>    @error('services')        <div class="alert alert-danger" role="alert">        {{ $message}}        </div>    @enderror我不知道为什么,但它向我显示错误在 null 上调用成员函数 attach() 时出错你知道哪里出了问题吗?
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

你应该带着这段关系回来。


public function services()

{

    return $this->belongsToMany('App\Jobervices');

}

public function jobs()

{

    return $this->belongsToMany('App\Job');

}


查看完整回答
反对 回复 2023-03-26
?
开满天机

TA贡献1786条经验 获得超13个赞

我在laravel 7上遇到了这个错误 ,即使我从模型中返回了关系,但没有任何效果。实际上这不是代码错误,最后我用以下方法修复了它:


composer update

composer dump-autoload

在此之后一切正常。


型号代号


public function adjustments()

    {

        return $this->belongsToMany(User::class, 'adjustments')

            ->withTimestamps();

    }


查看完整回答
反对 回复 2023-03-26
  • 2 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信