Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день. Есть две модели Book и Translator, связанные друг с другом отношением ManyToMany. Так как у книги не всегда есть переводчик (переводчики), то при выводе информации о книге нужно проверить есть ли они у книги или нет, чтобы не выводить пустую строку "Переводчики". Как это сделать в представлении? Код вывода такой:
@foreach($book->translators as $translator)
{{ $translator->name }}
@endforeach
Не в сети
@if ($book->translators)
@foreach($book->translators as $translator)
{{ $translator->name }}
@endforeach
@endif
Не в сети
@if ($book->translators) @foreach($book->translators as $translator) {{ $translator->name }} @endforeach @endif
пробовал так, но не помогло...
Не в сети
Попробуйте сделать одним из способов из этой темы
Не в сети
}%Попробуйте сделать одним из способов из ((http://laravel.ru/forum/viewtopic.php?id=226 этой темы))
Попробовал, не то Сам не понимаю почему...
Не в сети
Не в сети
Мистика какая-то.
/** Все книги с переводчиками */
$books = Book::has('translators')->get();
foreach($books as $book){
//...
}
/** проверка на наличие переводчиков у книги */
$books = Book::with('translators')->get();
foreach($books as $book){
if($book->translators->count()){
//... Есть переводчик
}
}
И что тут может не работать? Т.е. не так. Если не работает, то скорее всего модель со связями составлена не корректно.
Время, качество, цена - выбирай любые 2
Не в сети
Так проще всего так:
@if($book->translators->count())
@foreach($book->translators as $translator)
{{ $translator->name }}
@endforeach
@else
Переводчиков нет (((
@endif
Agel_Nash, Андрей, спасибо за помощь!
Не в сети
Страницы 1