Php 无法在我的laravel应用程序中操作透视表
new job.blade.phpPhp 无法在我的laravel应用程序中操作透视表,php,laravel-5.4,Php,Laravel 5.4,new job.blade.php <select class="js-example-basic-multiple categories form-control" name="categories[]" style="width: 100%" multiple="multiple"> <option value=""></option> @foreach($array['categories'] as $key => $catego
<select class="js-example-basic-multiple categories form-control" name="categories[]" style="width: 100%" multiple="multiple">
<option value=""></option>
@foreach($array['categories'] as $key => $category)
<option value="{!! $category->id !!}">{!! $category->category_name !!}</option>
@endforeach
</select>
public function categories() {
return $this->belongsToMany('App\Category', 'category_job_post', 'category_id', 'job_post_id');
}
public function jobs() {
return $this->belongsToMany('App\JobPost');
}
给我一个所选类别id的数组,例如:['1','2']
但当我尝试将其与pivot表同步时
$job->categories()->sync($request['categories']);
我犯了这个错误
SQLSTATE[23000]:完整性约束冲突:1452无法添加或
更新子行:外键约束失败
(jobs\u网站
category\u job\u post
,约束
category\u job\u post\u category\u id\u foreign
外键(category\u id
)
删除级联上的引用category
(id
)
category\u job\u post
(category\u id
,job\u post\u id
)值(11,1))
我的分类表中没有像11这样的id
JobPost.php
<select class="js-example-basic-multiple categories form-control" name="categories[]" style="width: 100%" multiple="multiple">
<option value=""></option>
@foreach($array['categories'] as $key => $category)
<option value="{!! $category->id !!}">{!! $category->category_name !!}</option>
@endforeach
</select>
public function categories() {
return $this->belongsToMany('App\Category', 'category_job_post', 'category_id', 'job_post_id');
}
public function jobs() {
return $this->belongsToMany('App\JobPost');
}
Category.php
<select class="js-example-basic-multiple categories form-control" name="categories[]" style="width: 100%" multiple="multiple">
<option value=""></option>
@foreach($array['categories'] as $key => $category)
<option value="{!! $category->id !!}">{!! $category->category_name !!}</option>
@endforeach
</select>
public function categories() {
return $this->belongsToMany('App\Category', 'category_job_post', 'category_id', 'job_post_id');
}
public function jobs() {
return $this->belongsToMany('App\JobPost');
}
您必须切换列名
public function categories() {
return $this->belongsToMany('App\Category', 'category_job_post', 'job_post_id', 'category_id');
}