سلام استاد
به فرض ما سه جدول داریم یکی کاربران ما می باشد به نام user و جدول دیگر به نام topic که موضوعات ما در آن قرار میگیرد هر کاربر میتواند موضوعاتی را انتخاب کند و هر موضوع می تواند چند کاربر داشته باشد و جدول دیگر به نام point که امتیاز کاربران در آن می باشد هر کاربر یک امتیاز دارد و هر امتیاز متعلق به یک کاربر می باشد می خواهم api بنویسم که با انتخاب یک موضوع کاربرانی که آن موضوع را انتخاب نموده اند به همراه امتیاز آنها نمایش داده شود و بتوان بر اساس امتیاز آنها سورت بندی(sort)کرد
$list_user =Topic::where('id',1)->with(array('users' => function($q)
{
$q->with('points')->get();
}))->get();
من به این شکل توانستم به لیستم دست پیدا کنم ولی قابلیت سورت بندی به این شکل انجام نمی شود راه حل به چه صورت می باشد با تشکر
سلام ...
این تیکه کد را تست کنید:
$users = Topic::find(1)->users;
$users->with(['points' => function ($query) {
$query->orderBy('point');
}]);
نه همچین خطایی میدهد
BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::with does not exist. in file C:\xampp\htdocs\gulldashboard3\vendor\laravel\framework\src\Illuminate\Support\Traits\Macroable.php on line 103