![](/img/trans.png)
[英]Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::update() must be of the type array, object given
[英]Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() must be an instance of Illuminate\Database\Eloquent\Model,
試圖save one-to-one relationship
Expense
和ExpenseCategory
之間save one-to-one relationship
並得到上述錯誤
傳遞給 Illuminate\\Database\\Eloquent\\Relations\\HasOneOrMany::save() 的參數 1 必須是 Illuminate\\Database\\Eloquent\\Model 的實例,給定 null,在 /home/z3r0/Desktop/Kiyoi/laravel-kiyoi/app 中調用/Http/Controllers/V1/ExpenseController.php 第 88 行
我嘗試了google
和一切,但仍然沒有運氣。
費用模型
public function expense_category()
{
return $this->hasOne(\App\ExpenseCategory::class);
}
在費用類別模型中
protected $fillable = ['expense_id', 'code', 'name', 'description'];
public function expense()
{
return $this->belongsTo(\App\Expense::class, 'expense_id');
}
在費用控制器中
public function update(Request $request, $id)
{
$request->validate([
'date' => 'required',
'amount' => 'required',
]);
$expense = Expense::findOrFail($id);
$expense->user_id = auth()->user()->id;
$expense->date = $request->date;
$expense->description = $request->description;
$expense->amount = $request->amount;
$expense->expense_for = $request->expense_for;
$expense->save();
$expense_category = \App\ExpenseCategory::findOrFail($id);
$expense_category->name = $request->name;
$expense->expense_category()->save($request->expense_category);
return response()->json([
'updated' => true,
]);
}
我會感謝你的幫助...謝謝...
你有一個錯字。 您將$request->expense_category
傳遞給save()
方法,但您打算傳遞$expense_category
。
改變
$expense->expense_category()->save($request->expense_category);
到
$expense->expense_category()->save($expense_category);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.