【发布时间】:2020-12-31 03:56:15
【问题描述】:
我想将候选语言信息插入数据库,并且只用于经过身份验证的用户。候选人可以添加更多语言。为经过身份验证的用户插入所有信息。经过身份验证的候选人也可以
这是我的查看代码:
<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>
我的控制器:
public function addLanguage(Request $request){
$candidateID = Auth::guard('candidate')->user()->id;
if (count($request->txt_language) > 0){
foreach ($request->txt_language as $language => $l){
$data = array(
'candidate_id' => $candidateID,
'language' => $request->txt_language[$language],
'reading' => $request->txt_reading[$language],
'writing' => $request->txt_writing[$language],
'speaking' => $request->txt_speaking[$language],
) ;
Language::insert($data);
}
}
return redirect('/candidate/referencesForm')->with('success','Language Information Save Successfully..');
}
我收到此错误:
Attempt to assign property 'candidate_id' of non-object
我错过了什么?我该如何解决这个错误?请帮忙
它的“dd($request->all());”输出:
array:5 [▼
"_token" => "pcKuRe8xI8WzRYQefwY7GMw1Zo6vighrZ6k7PUNi"
"txt_language" => array:3 [▼
0 => "English"
1 => "Bangla"
2 => null
]
"txt_reading" => array:3 [▼
0 => "Medium"
1 => "Medium"
2 => "High"
]
"txt_writing" => array:3 [▼
0 => "High"
1 => "Low"
2 => "High"
]
"txt_speaking" => array:3 [▼
0 => "High"
1 => "High"
2 => "High"
]
]
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();
});
【问题讨论】:
-
我们觉得这个问题有点令人困惑..您能否添加更多关于您正在尝试的内容和您的期望的详细信息
-
我有一个经过身份验证的候选人的“语言”表格。我想使用特定候选人的表格将数据插入数据库。候选人可以添加更多语言并全部插入该特定候选人。但我在“$language->candidate_id => $candidateID”这一行中收到此错误
-
尝试 $data = Language::create([ $language->candidate_id => $candidateID, ..... ]);您缺少箭头
-
现在“尝试获取非对象的属性 'candidate_id'”出现此错误。
-
我的错,$data = Language::create([ 'candidate_id' => $candidateID, ..... ]);