使用Laravel 7将数组插入数据库
我想在数据库中插入候选语言信息,并且只针对经过身份验证的用户。候选人可以添加更多的语言。为经过身份验证的用户插入所有信息。经过身份验证的候选人也可以 以下是我的查看代码:使用Laravel 7将数组插入数据库,laravel,laravel-7,Laravel,Laravel 7,我想在数据库中插入候选语言信息,并且只针对经过身份验证的用户。候选人可以添加更多的语言。为经过身份验证的用户插入所有信息。经过身份验证的候选人也可以 以下是我的查看代码: <form action="{{url('/candidate/addLanguage')}}" method="post"> @csrf <!-- Education
<form action="{{url('/candidate/addLanguage')}}" method="post">
@csrf
<!-- Education -->
<div class="form with-line">
<h5>Language Proficiency</h5>
<div class="form-inside">
<!-- Add Education -->
<div class="form boxed box-to-clone education-box">
<a href="#" class="close-form remove-box button"><i class="fa fa-close"></i></a>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4"> Language</label>
<input type="text" name="txt_language[]" class="form-control" id="inputEmail4" placeholder="Language">
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">Reading</label>
<select name="txt_reading[]" id="" class="form-control">
<option value="#" selected>Choose..</option>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4"> Writing</label>
<select name="txt_writing[]" id="" class="form-control">
<option value="#" selected>Choose..</option>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</select>
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">Speaking</label>
<select name="txt_speaking[]" id="" class="form-control">
<option value="#" selected>Choose..</option>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</select>
</div>
</div>
</div>
<a href="#" class="button gray add-education add-box"><i class="fa fa-plus-circle"></i> Add Language</a>
</div>
</div>
<button type="submit" class="btn btn-success btn-sm float-right">Submit</button>
</form>
我得到这个错误:
Attempt to assign property 'candidate_id' of non-object
我哪里漏了什么?如何解决此错误?请帮忙
其“dd($request->all());”输出:
Jquery代码:
$('.box-to-clone').show();
$('.add-box').on('click', function(e) {
e.preventDefault();
var newElem = $(this).parent().find('.box-to-clone:first').clone();
newElem.find('input').val('');
newElem.prependTo($(this).parent()).show();
var height = $(this).prev('.box-to-clone').outerHeight(true);
$("html, body").stop().animate({ scrollTop: $(this).offset().top-height}, 600);
});
$('body').on('click','.remove-box', function(e) {
e.preventDefault();
$(this).parent().remove();
});
请按以下格式填写:
foreach ($request->txt_language as $language => $l){
$data = new Language;
$data->candidate_id => $candidateID,
$data->language => $request->txt_language[$language],
$data->reading => $request->txt_reading[$language],
$data->writing => $request->txt_writing[$language],
$data->speaking => $request->txt_speaking[$language],
$data->save();
}
希望这能解决你的问题。如果您面临进一步的问题,请告诉我。试试以下方法:
public function addLanguage(Request $request){
$candidateID = Auth::guard('candidate')->user()->id;
if(!empty($candidateID)){
if (count($request->txt_language) > 0){
foreach ($request->txt_language as $language => $l){
Language::create([
'candidate_id' => $candidateID,
'language' => $l,
'reading' => $request->txt_reading[$language],
'writing' => $request->txt_writing[$language],
'speaking' => $request->txt_speaking[$language],
]);
}
}
return redirect('/candidate/referencesForm')->with('success','Language Information Save Successfully..');
}
abort(404);
}
我们发现这个问题有点令人困惑。。请你再详细说明一下你在尝试什么和你的期望,好吗?我有一份“语言”表格供认证的候选人填写。我想使用特定候选对象的表单将数据插入数据库。候选对象可以添加更多语言并全部插入该特定候选对象。但是我在这行“$language->candidate\u id=>$candidateID”中得到了这个错误,尝试$data=language::create([$language->candidate\u id=>$candidateID,…]);获取此错误时,您缺少箭头“正在尝试获取非对象的属性'candidate_id'。我的错误,$data=Language::create(['candidate_id'=>$candidateID,…]);现在“正在尝试获取非对象的属性'candidate_id'”获取此错误。是的,这是有效的,但仅针对一行。我想为1个候选行添加乘法行。数据保存到数据库中,但如果我输入2行,则得到1行。打印($data)仅显示1个数据。其他数据丢失。
foreach ($request->txt_language as $language => $l){
$data = new Language;
$data->candidate_id => $candidateID,
$data->language => $request->txt_language[$language],
$data->reading => $request->txt_reading[$language],
$data->writing => $request->txt_writing[$language],
$data->speaking => $request->txt_speaking[$language],
$data->save();
}
public function addLanguage(Request $request){
$candidateID = Auth::guard('candidate')->user()->id;
if(!empty($candidateID)){
if (count($request->txt_language) > 0){
foreach ($request->txt_language as $language => $l){
Language::create([
'candidate_id' => $candidateID,
'language' => $l,
'reading' => $request->txt_reading[$language],
'writing' => $request->txt_writing[$language],
'speaking' => $request->txt_speaking[$language],
]);
}
}
return redirect('/candidate/referencesForm')->with('success','Language Information Save Successfully..');
}
abort(404);
}