【发布时间】:2020-10-18 06:01:43
【问题描述】:
我的 foreach 循环出了什么问题。
它给了我 ErrorException 为 foreach() 提供的参数无效
下面的代码成功保存了付款人,但在到达 foreach 时给了我上面的错误。
我该如何解决这个问题?
public function store(CreatePayerRequest $request)
{
$input = $request->all();
$payer = $this->payerRepository->create($input);
{
$spouses = Spouse::find('id');
foreach($spouses as $spouse){
$spouses = new Spouse();
$spouses->user_id = Auth::user()->id;
$spouses->payer_id = 1;
$spouses->spouse_occupation='NA';
$spouses->spouse_name = $input['spouse_name'];
$spouses->spouse_dob = $input['spouse_dob'];
$spouses->spouse_emplbiz_add = $input['spouse_emplbiz_add'];
$spouses->spose_income = $input['spose_income'];
$spouses->save();
}
【问题讨论】:
-
我删除了我的答案,因为我注意到你正在覆盖循环
$spouses内的变量$spouses = new Spouse();但这就是你要循环的内容。因此,您立即更改数据类型。我认为您需要转储Spouse::find('id')并检查它是否是可迭代对象,并更改循环内变量的名称。总而言之,我会说你不太清楚你想用这段代码做什么 -
这里也好像有错字`$input['spose_income'];`
-
$spouses = Spouse::find('id');只返回一条记录... -
@Makdous
Spouse::find('id');可能会返回null,'id'是一个字符串