我有一个
多对多
所以我想更新pivot表,但首先我想知道这两个模型是否已经存在于这个pivot表中。
下面是我在两个模型中对关系的定义:
分析请求模型
public function request_methods()
{
return $this->belongsToMany('App\Models\Methodologies')->withTimestamps();;
}
在我的另一个模型中:
public function methods_requested()
{
return $this->belongsToMany('App\Models\AnalysisRequest')->withTimestamps();;
}
所以这两个模型都有自己的数据透视表和
身份证件
附属的。现在我想做的是,当两个模型已经存在相互连接的模型时,我想在视图上选中复选框,但我无法实现。
<?php
namespace App\Models;
use Eloquent as Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class AnalysisRequestMethodologies extends Model
{
public $table = 'analysis_request_methodologies';
public $fillable = [
'analysis_request_id',
'methodologies_id',
];
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'analysis_request_id' => 'integer',
'methodologies_id' => 'integer',
];
/**
* Validation rules
*
* @var array
*/
public static $rules = [
'analysis_request_id' => 'required|unique_with:analysis_request_methodologies,methodologies_id',
'methodologies_id' => 'required',
];
}
这是我的密码
控制器
下图:
public function edit($id)
{
$analysis_request = $this->analysisrequestRepository->findWithoutFail($id);
$checkeds = AnalysisRequest::find($id)->request_methods()->pluck('id');
return view('encoder-dashboard.analysis-request-methods.create', compact('analysis_request', 'checkeds'));
}
在我的心里
看法
<div class="form-group col-sm-12">
@forelse($analysis_request->category->methodology as $method)
<label>
<?php $checked = in_array($method->id, $checkeds) ? true : false; ?>
{{ Form::checkbox('methodologies_id[]', $method->id) }}
{{ $method->name }} with the lead time of {{ $method->lead_time }} and the DOH standard of {{ $method->doh_standard }}
</label>
@empty
<h3>The category you selected has no method yet</h3>
@endforelse
</div>
question
这可能和我的问题有关。
他说:
完整性约束冲突:字段列表中的1052列“id”为
不明确(SQL:选择
id
methodologies
内部连接
analysis_request_methodologies
在
方法论
身份证件
=
分析\u请求\u方法
.
methodologies_id
哪里
分析\u请求\u方法
.
analysis_request_id
= 10)
在
referenced question
lists
但它在年被贬值了
拉威尔5
我需要使用
pluck
相反。但还是无法解开谜团。
如果有人能帮忙,我将不胜感激。
提前谢谢。