I have an Article
model and am using $this->crud->addClause('where','user_id',backpack_user()->id);
to limit the articles shown to those belonging to the currently logged in user.
I now want to further filter my articles by only showing articles that have a certain page_id
- in fact, I can do this without any hassle:
$this->crud->addClause('where','page_id', "=", "154");
Now only articles that have a page_id
of 154 are shown.
Obviously I want a dynamic variable for page_id, so my url looks like this
http://example.com/admin/articles/154
and I extract the last parameter like this:
$segments = request()->segments();
$page_id = $segments[count($segments)-1]; //get last segment, contains "154"
Now my problem is that for some obscure reason, whenever I try to use
$this->crud->addClause('where','page_id', "=", $page_id);
The collection is empty, even tho dd()'ing $page_id
shows it is set and contains "154". I have even tried to cast $page_id to int like this and in fact it becomes an int but still the same problem (empty collection):
$page_id = (int)$segments[count($segments)-1]; //shows 154
Thanks for any help!
from addClause always returns empty collection
No comments:
Post a Comment