Я пытаюсь использовать Laravel Eloquent whereHas в моей последней строке отношения HasMany для поиска статуса последнего обновления. Но этот запрос дает мне все действия не по порядку. Я вижу это . Я хочу использовать запрос where в lastAction, и это не сработает для меня. спасибо
Мой заказ. php файл
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
protected $table = "orders";
protected $guarded = [];
public function action()
{
return $this->hasMany(OrderAction::class, 'order_id');
}
}
Мой OrderController. php файл
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class OrderController extends Controller
{
public function index(Request $request)
{
$items = Order::where(function ($query) use ($request) {
if ( !empty($request->filter_status )) {
$query->whereHas('action',function($query1) use ($request){
$query1->where('state_to',$request->filter_status);
});
}})->latest('id')->paginate(20);
$items->appends($request->query());
return view('order.index',compact('items'));
}
}