i have 2 models, user model , post model. trying collection of users have posted between date range. lost on how tie 2 models together. there one-to-many relationship between two.
user model:
public function posts() { return $this->hasmany('app\models\post', 'user_id'); }
so, want collection of users posts between date 1 & date 2 , if user has posts between dates, want collection of posts. know can use wherebetween query builder, can use eloquent? also, how sort entire user model ones have posts? how filter() method?
$users = users::all(); $users = $users->filter(function() { foreach ($users $user) { if ($user->posts->wherebetween(date 1, date 2)) { return true; //something } } });
it's better eager load relation model wanted , work result. no need use if checks.
$users = users::with(['posts' => function($query) { $query->wherebetween(date 1, date 2); }])->get();
more information: eager loading
Comments
Post a Comment