As a follow up question in my last post, I just can't figure out how to use WHERE
clause when you have a nested json
data. Please see my last post as reference to this.
So, I have this kind of data generated by using relationship in my models:
[
{
"id":1,
"name":"South Luzon",
"branches":[
{
"id":1,
"machinenum":108,
"name":"Alaminos",
"region_id":1,
"user":{
"id":52,
"name":"",
"email":"baic@alaminosbranch.addessacorp",
"role":0,
"machinenum":108,
"created_at":"2016-07-11 05:58:04",
"updated_at":"2016-07-14 09:49:00",
"pendings":[
{
"id":10,
"user_id":52,
"region":"South Luzon",
"branch":"Alaminos",
"docdate":"2016-07-14 00:00:00",
"ls_or":12345,
"por":1,
"ls_ci":12345,
"ci":2,
"ls_ch":12345,
"ch":2,
"dep":5,
"cla":0,
"grpo":3,
"si":25,
"so":62,
"sts":2,
"disb":3,
"arcm":5,
"apcm":65,
"pint":2,
"rc_cash":1,
"reason":"Test Reason Alaminos",
"created_at":"2016-07-14 09:48:55",
"updated_at":"2016-07-14 09:48:55"
}
]
}
}
What I'm trying to do is loop all regions
with branches
and get the pending
of each branches. I'm successfully done the looping with my last SO question. Now, I just want to filter the date when the pending
was created.
I'm trying to do this:
$regions = Region::with(array('branches->user->pendings' => function($query) {
$query->where('created_at', '=', '2016-07-14 09:48:55');
}))->get();
But I'm getting this error:
BadMethodCallException in Builder.php line 2345:
Call to undefined method Illuminate\Database\Query\Builder::branches->user->pendings()
I've also done some research but end up asking here. Thanks in advance and please don't forget to see my last SO question as your reference.