Laravel 仅显示重复的值

Laravel 仅显示重复的值,laravel,Laravel,我只想显示两位以上作者的书籍。 我正在从名为books的数据库接收数据。我正在与语法作斗争,当一列中有相同的值时,我应该如何使用if语句if。 当我在视图文件中使用if语句时,我得到了错误语法错误,意外的“这个问题可能是由这段代码引起的@if({{$book->author}) 刀片函数@if()会打开和关闭一个php标记本身,但是您的{{}也会这样做,因此编译后它看起来像是导致此错误的 因此,在使用刀片函数时,不必将php代码放入{{}中。 解决此问题的方法是将@if({{$book->aut

我只想显示两位以上作者的书籍。 我正在从名为books的数据库接收数据。我正在与语法作斗争,当一列中有相同的值时,我应该如何使用if语句if。
当我在视图文件中使用if语句时,我得到了错误语法错误,意外的“这个问题可能是由这段代码引起的
@if({{$book->author})

刀片函数
@if()
会打开和关闭一个php标记本身,但是您的
{{
}
也会这样做,因此编译后它看起来像是导致此错误的

因此,在使用刀片函数时,不必将php代码放入
{{}
中。
解决此问题的方法是将
@if({{$book->author}}})替换为
@if($book->author)

当我使用“我正在接收错误”时,此集合实例上不存在属性[author]。在您的控制器中使用
$books=book::all()这样您就可以得到所有书籍的集合。但作者未为此集合设置。它是为书籍设置的,因此您只能通过
$book->author
获得书籍作者,就像您通过迭代所有书籍在视图中一样。因此,当您尝试从整个收藏中获取
auther
属性
$books
时,您会收到一个错误,即您的方法是仅与数据库中有两本以上书籍的作者一起显示书籍,所以您希望与拥有两本以上书籍的作者一起显示所有书籍?是,我认为最好的方法是更改我对books的查询变量
@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>
public function index()
{
    $books = Book::all();
    return view('books.index', compact('books'));
}