Вы должны использовать:
User::select('username', 'firstname', 'lastname')->with(['periods' => function($){
$->select('jobtitle', 'user_id')->orderBy('start_date', 'desc')->limit(1);
}])->paginate(50);
вместо.Я добавил user_id
, потому что, вероятно, это столбец, который объединяет периоды с пользователями.Eloquent не может назначить пользователям допустимые периоды, если вы не выбрали столбец, используемый для «сопоставления» этих записей