Вы можете использовать красноречивое отношение ManyToMany для извлечения данных между User
и Profession
моделью. И для этого вы должны определить его так:
Пользовательская модель
public function professions()
{
return $this->belongsToMany('App\Profession','user_profesions');
}
Профессия Модель
public function users()
{
return $this->belongsToMany('App\User','user_profesions');
}
Теперь выберете ее так же, как в контроллере
$mentors = User::with('professions')->where('user_group', 2)->get();
return view('mentors.list-of-mentors')->with('mentors',$mentors);
В поле зрения вы можете использовать его следующим образом
@foreach($mentors as $mentor)
{{$mentor->first_name}}
@foreach($mentor->professions as $profession)
{{$profession}}
@endforeach
@endforeach
Проверить здесь https://laravel.com/docs/5.6/eloquent-relationships#many-to -many
Шаблоны Django имеют специальный синтаксис. Это частично сделано для того, чтобы люди не могли писать бизнес-логику в шаблонах. Например, не просто вызвать функцию с аргументами. Для этого можно использовать всевозможные «трюки », такие как настраиваемые теги шаблонов, настраиваемые фильтры шаблонов и т. Д. Но идея состоит в том, чтобы препятствовать этому и перенести такую логику в само представление.
Если вы напишите переменную, то Django разрешит эту переменную, посмотрев, есть ли переменная с этим именем в контексте, и для последовательности с точками, он будет искать атрибуты, элементы и т. Д. С этим именем, чтобы разрешить «цепочку».
Если один из этих элементов может быть вызван, шаблонизатор Django вызовет их, как написано в документации :
Если переменная преобразуется в вызываемый , система шаблонов будет вызывать его без аргументов и использовать его результат вместо вызываемого.
blockquote>Jinja , еще один шаблонизатор, однако позволяет писать выражения в стиле Python. Например, в дзиндзя можно написать:
<!-- Not in Django templates, but in Jinja templates --> {{ foo.bar(qux) }}