Reputation: 7138
I try to get my categories base on their status and i have scope
below in my category model:
public function scopeOfStatus($query, $status)
{
return $query->where('status_id', $status);
}
And my controller is like:
public function finder() {
$findercategories = Category::OfStatus('Active')->get();
return response()->json($findercategories);
}
My route is like:
Route::get('/finder','frontend\SearchController@finder');
But i get blank page as result. Any idea?
if i use $findercategories = Category::ofStatus(1)->get();
i get the result that i want but it's static not dynamic :\
Upvotes: 0
Views: 704
Reputation: 7992
Get the Id's from the statuses
table with respect to the searched value and use the Id's to get the Category
public function scopeOfStatus($query, $status)
{
$statuses = Status::where('title', $status)->pluck('id'); // Or relevant column name
return $query->whereIn('status_id', $statuses);
}
and in your Controller you could do so
public function finder() {
$findercategories = Category::ofStatus('Active')->get();
return response()->json($findercategories);
}
Upvotes: 1