Отображать только дубликаты значений - PullRequest
0 голосов
/ 17 октября 2019

Я хочу отображать только книги, у которых более 2 авторов. Я получаю данные из базы данных, называемой books. Довольно часто я борюсь с синтаксисом, как мне использовать оператор if, если в одном столбце одинаковые значения. Когда я использую оператор if в файле представления, я получаю ошибку синтаксиса ошибки, неожиданную '<', при проверке только, существует ли автор </p>

@if({{$book->author}})
    \\view file
     <table>
        <tr>
            <th>Author</th>
            <th>Name</th>
            <th>Cover</th>
            <th>ISBN</th>
        </tr>
        @foreach ($books as $book)    
            @if({{$book->author}})
                <tr>
                    <td>{{$book->author}}</td>
                    <td>
                        <a href="/book/{{$book->id}}"> {{ $book->name }}</a>
                    </td>
                    <td>
                        <img src="{{ $book->cover}}" height="42" width="42">
                    </td>
                    <td>{{ $book->isbn}}</td>
                </tr>
            @endif
        @endforeach
    </table>

Если я изменил свой подход и изменил свой запрос в Controller, чемкниги будут включать только дубликаты авторов. Если да, то как лучше всего это сделать

public function index()
{
    $books = Book::all();
    return view('books.index', compact('books'));
}

1 Ответ

1 голос
/ 17 октября 2019

Эта проблема может быть вызвана этим фрагментом кода @if({{$book->author}})

функция лезвия @if() сама открывает и закрывает тег php, но ваш {{ }} также сделал это, скомпилированныйэто выглядело бы так: <?php if (<?php ... ?>) ?>, что вызывает эту ошибку.

Так что при использовании функций blade-сервера вам не нужно помещать свой php-код внутрь {{ }}. Решите проблему, заменив @if({{$book->author}}) на @if($book->author)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...