Hi I want to retrieve my projects
held in a db which are owned by an auth user
who also creates clients
(they have many projects and tasks) and tasks
(belongs to a project and tasks and user).
I want to retrieve all tasks that are not marked as closed in the status table, I know the id of this is 2 and I can retrieve this as so:
public function getOpenProjects() { return \Project::with(['clients', 'tasks', 'status']) ->where('status_id', '!=', '2') ->whereUserId(Auth::user()->id) ->get(); }
But how can I change this to query against a column in the statuses table, i.e. the name column in that table?
You may try this:
$value = 'someName'; Project::with(['clients', 'tasks', 'status' => function($q) use($value) { // Query the name field in status table $q->where('name', '=', $value); // '=' is optional }]) ->where('status_id', '!=', '2') ->whereUserId(Auth::user()->id) ->get();
Also you may try this (It will fetch records only if the query
returns name
you want, otherwise none):
$value = 'someName'; Project::with(['clients', 'tasks', 'status']) ->whereHas('status', function($q) use($value) { // Query the name field in status table $q->where('name', '=', $value); // '=' is optional }) ->where('status_id', '!=', '2') ->whereUserId(Auth::user()->id) ->get();
You may try this:
Project::with(['clients', 'tasks' => function($q) use($value) { // Query the name field in status table $q->where('status_id', '!=', '2'); }]) ->whereUserId(Auth::user()->id) ->get();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With