检查视图层中是否存在记录

时间:2015-10-03 22:12:51

标签: php laravel

好吧所以我出于某种原因碰到了墙,我无法弄清楚这一点。我不想检查查询中是否有任何记录,然后在我的视图中使用@if来表示“是,有记录”或“无”。我没有尝试过任何工作......

我想要的是什么:

<div class="col-md-12 col-style">
    <h1 class="no-border">YOUR LATEST CONVERSIONS</h1>
        @if(something here that lets me test if $transactions is empty)
        <table class="table table-striped">
            <tr>
                <th>#</th>
                <th>Type</th>
                <th>User</th>
                <th>Amount</th>
                <th>Value</th>
                <th>Result</th>
                <th>Result Value</th>
                <th>Date</th>
            </tr>
            @foreach($transactions as $transaction)
                <tr>
                    <td>{{ $transaction->id }}</td>
                    <td>{{ $transaction->status }}</td>
                    <td>{{ $transaction->username }}</td>
                    <td>{{ $transaction->amount }}</td>
                    <td>{{ $transaction->value }}</td>
                    <td>{{ number_format($transaction->result, 2) }}</td>
                    <td>{{ $transaction->result_value }}</td>
                    <td>{{ $transaction->created_at }}</td>
                </tr>
            @endforeach
        </table>
        @else
            yo no records
        @endif
</div>

我的控制器:

public function index($username)
{
    $user = User::where('username', $username)->firstOrFail();
    $id = $user->id;

    $transactions = Transactions::where('user_id', '=', $id)->take(5)->get();

    return view('user.profile', compact('user', '=', 'userCurrency', 'transactions'));

所以,如果你看到顶部有一个基本的@if。也许我在思考它,或者我传递的东西无法以我想要的方式进行检查?

谢谢!

3 个答案:

答案 0 :(得分:3)

@if (!$transactions->isEmpty())
...
@endif

这种使用laravel收集方法可以解决问题。

答案 1 :(得分:1)

它很简单:

@if(count($transactions) > 0)

答案 2 :(得分:0)

@if($transactions)应该可以解决问题。