我有两个表,一个表名为Client,另一个表名称为Projects,通过外键链接在一起(这是Client_id,它存在于Projects中(。
每个项目都有一个编辑按钮;当我点击编辑一个项目时,我有一个所有字段都安全的表单。
要编辑一个项目,我必须传递与该项目相关联的客户端id(client_id(。
为此,我做了以下操作:
路由
Route::get('/project/edit/{project}', [ProjectController::class, 'edit'])->name('project.edit');
控制器
public function edit(Project $project)
{
$client_id = Project::select('client_id')->where('id',$project->id)->get();
//dd($client_id);
return view('project.edit', compact('project','client_id'));
}
查看
<div class="row mt-3">
<div class="col-12 col-md-6 namelabel">
<form action="{{route('project.store')}}" method="post" enctype="multipart/form-data">
@csrf
<div class="mb-3">
<input type="hidden" class="form-control" name="client_id" value="{{$client_id}}" >
</div>
<div class="mb-3">
<label for="name" class="form-label">Project name</label>
<input type="text" class="form-control" name="name" value="{{$project->name}}">
</div>
<div class="mb-3">
<div class="mb-3">
<label for="logo" class="form-label">Insert image</label>
<input type="file" name="logo">
</div>
<div class="mb-3">
<label for="project_start_date" class="form-label">Data init</label>
<input type="date" class="form-control" name="project_start_date" value="{{$project->project_start_date}}">
</div>
<label for="description" class="form-label">Description</label>
<textarea name="description" cols="30" rows="10" class="form-control">{{$project->description}}</textarea>
</div>
<button type="submit" class="btn btn-primary mb-5">Modifica progetto</button>
</form>
</div>
</div>
我得到以下错误:
第1行"client_id"列的整数值不正确:"[{quot;client_id":14}]">
我该如何解决这个问题?
感谢那些将帮助我的人
此语句
Project::select('client_id')->where('id',$project->id)->get()
不返回client_id。它返回一个只有client_id属性的Eloquent项目集合。
您可以链接pull函数以仅提取值,然后可以首先调用从集合中获取值。
Project::select('client_id')
->where('id',$project->id)
->get()
->pluck('client_id')
->first()
在检查完代码的全部细节后,您根本不需要执行选择部分
您已经有了项目模型,因此可以直接访问它的所有字段。
$project->client_id
在你看来,你已经在用项目名称做这件事了:
{{$project->name}}
您也可以对client_id执行同样的操作:
{{$project->client_id}}