0

这是我上一个问题的延续。

我喜欢在用户(帐户类型等于“个人资料”)和我的职位发布之间建立关系。我所做的是在我的模型中创建这样的关系(不确定是否正确)

User.php

public function jobposts()
{
    $this->hasMany(JobPost::class)->where('account_type', 'profile');
}

JobPost.php

public function userprofile()
{
    $this->belongsTo(User::class)->where('account_type', 'profile');
}

JobPostController.php

public function store(Request $request)
{
    $this->validate($request, [
        'job_name' => 'required|max:100',
        'describe_work' => 'required|max:800',
        'job_category' => 'required|not_in:0',
        'city' => 'required|not_in:0',
        'state' => 'required|not_in:0',
        'zip' => 'required|regex:/\b\d{5}\b/',
    ]);

    dd(auth()->user()->jobpost()->job_name);
}

2021_11_20_211922_create_job_posts_table.php

Schema::create('job_posts', function (Blueprint $table) {
        $table->id();
        $table->foreignId('user_id')->contrained()->onDelete('cascade');
        $table->string('job_name');
        $table->text('describe_work');
        $table->string('job_category');
        $table->timestamps();
    });

有 2 个关于我可以在JobPostController.php.

  1. 如何dd()测试输出?

这似乎是错误的

dd(auth()->user()->jobpost()->job_name);
  1. 如何像这样将它正确添加到数据库中?
public function store(Request $request)
{
    $request->user()
        ->jobpost()
        ->create([
            'job_name' => $request->job_name
        ]);
}
4

0 回答 0