我有一个使用laravel表单助手的选择下拉列表,如下所示:
{!! Form::label('job_id', 'Job Titlle', ['class' => ' control-label']) !!}
{!! Form::select('job_id', $jobs, null, ['class' => 'form-control', 'placeholder' => 'Select']) !!}
问题是当我尝试更新模型时会导致外键约束 。我认为传递一个空字符串,我不知道如何阻止它发生。
请帮助谢谢!
答案 0 :(得分:2)
1)Validate数据发送到数据库之前;在你的控制器中这样的东西会起到作用:
class JobController extends Controller
{
public function store(Request $request)
{
$this->validate($request, [
'job_id' => 'required'
]);
// Store in the database because data is valid
}
}
2)如果确实不需要job_id,可以通过将列指定为nullable
答案 1 :(得分:1)
在数据库表格中创建列null
ALTER mytable MODIFY mycolumn varchar(255) null;
答案 2 :(得分:0)
这对我有用。
if(isset($request['fk_id']) && empty($request['fk_id'])) {
$request['fk_id'] = null;
}