[英]How to fix error: Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, string given, called in
[英]How to solve: Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, string given
我想存儲date
,但出現問題。
輸入
<div class="col-lg-6">
<div class="form-group">
<label>Date</label>
<input type="date" name="date" id="date" class="form-control form-control-sm">
</div>
</div>
Controller
public function store(Request $request){
if($request->category_id == null){
return redirect()->back()->with('error', 'Please Purchase The Product');
} else{
// Multipale Data Insert start //
$purchase = new purchase();
$purchase->purchase_no = $request->purchase_no;
$purchase->date = $request->date;
$purchase->description = $request->description;
$purchase->status = '0';
$purchase->created_by = Auth::user()->id;
DB::transaction(function() use($request,$purchase) {
if($purchase->save()) {
// Purchase Details Insert Start //
$category_id = count($request->category_id);
for ($i=0; $i < $category_id; $i++) {
$purchaseDetail = new purchaseDetail();
$purchaseDetail->date = date('Y-m-d', strtotime($request->date));
$purchaseDetail->purchase_id = $purchase->id;
$purchaseDetail->supplier_id = $request->supplier_id[$i];
$purchaseDetail->category_id = $request->category_id[$i];
$purchaseDetail->product_id = $request->product_id[$i];
$purchaseDetail->buying_qty = $request->buying_qty[$i];
$purchaseDetail->unit_price = $request->unit_price[$i];
$purchaseDetail->buying_price = $request->buying_price[$i];
$purchaseDetail->discount_amount = $request->discount_amount[$i];
$purchaseDetail->ppn = $request->ppn[$i];
$purchaseDetail->status = '0';
$purchaseDetail->save();
}
}
});
}
// Redirect
return redirect()->route('purchase.view')->with('success', 'Purchase Added Successfully');
}
當我存儲它時,出現如下錯誤:
傳遞給 Illuminate\Database\Grammar::parameterize() 的參數 1 必須是數組類型,字符串給定,在 D:\Project Laravel\alc-pos\vendor\laravel\framework\src\Illuminate\Database\Query\ 中調用第 869 行的語法\語法.php
我嘗試更改此$purchase->date = $request->date;
進入這個$purchase->date = date('Ym-d', strtotime($request->date));
它出現類似ErrorException strtotime() expects parameter 1 to be string, array given的錯誤:
strtotime() 期望參數 1 為字符串,數組給定
看起來$request->date
是一個數組。 通過echo print_r($request->date, true);
確認確認$request->date
確實是一個數組,如果是,您可以查看它的結構。 從那里拿走。
go 並沒有那么多,但是。
編輯:
最終解決方案(由評論部分的@JulienBaldy 提供):更改
$purchase->date = $request->date;
進入
$purchase->date = date('Ym-d', strtotime( $request->date[0]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.