我正在与 Laravel 8 合作开发在线订购项目,在这个项目中,orders
如果status
每个订单的 设置为awaiting
,我想显示表中的所有订单,所以这是我的代码:
public function awaiting()
{
$orders = Order::with('user')->where('status', 'awaiting')->whereHas('user')->latest()->paginate(20);
return view('admin.orders.awaiting', compact('orders'));
}
但是现在的问题是,它只显示表中的第一个结果,但是orders
表中存储了多个记录。
那么这里出了什么问题呢?我该如何解决这个问题?
我真的很感激你们的任何想法或建议......
提前致谢。
更新#1:
问题在于 db 中的第二条记录。它awaiting\r\n
在 string 末尾有空格。
我建议你创建separate table
forstatus
然后reference status id
inorder table
以避免这些类型的错误
所以在保存到 db 之前最好通过定义一个来修剪它 Mutator
public function setStatusAttribute($value)
{
$this->attributes['status'] = Str::of($value)->trim();
}
参考:https : //laravel.com/docs/8.x/eloquent-mutators#defining-a-mutator参考:https : //laravel.com/docs/8.x/helpers#method-fluent-str-trim
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句