I am working with Laravel 8 to develop online ordering project and in this project, I want to show all the orders from orders
table if the status
of each order is set to awaiting
, so here is my code:
public function awaiting() { $orders = Order::with('user')->where('status', 'awaiting')->whereHas('user')->latest()->paginate(20); return view('admin.orders.awaiting', compact('orders')); }
But now the problem is, it only shows the first result from table, however there are more than one record stored at orders
table.
How can I fix this issue?
UPDATE #1:
Advertisement
Answer
The issue is with second record in db .It has white space awaitingrn
in at the end of string .
I suggest you to create separate table
for status
and then reference status id
in order table
to avoid these type of errors
So better before saving to db trim it by defining a Mutator
public function setStatusAttribute($value) { $this->attributes['status'] = Str::of($value)->trim(); }
Ref:https://laravel.com/docs/8.x/eloquent-mutators#defining-a-mutator Ref:https://laravel.com/docs/8.x/helpers#method-fluent-str-trim