【问题标题】:Extracting data from notification database in Laravel从 Laravel 的通知数据库中提取数据
【发布时间】:2017-12-05 12:05:01
【问题描述】:

我的通知是这样保存到数据库中的:

public function toDatabase($notifiable)
    {
        return [
            'from' => $this->message->name,
            'name'=> $this->message->email,
            'subject' => $this->message->subject,
            'body' => $this->message->body
        ];
    }

它工作正常。现在我想将这些数据提取到我的视图中,所以我这样做:

@foreach ( Auth::user()->unreadNotifications as $notification)
                <li><!-- start message -->
                    <a href="#">
                        <!-- Message title and timestamp -->
                        <h4>
                            {{ $notification->name }}
                            <small><i class="fa fa-clock-o"></i> 5 mins</small>
                        </h4>
                        <!-- The message -->
                        <p>{{ $notification->subject }}</p>
                    </a>
                </li>
            @endforeach

但它什么也没给我。那我做错了吗?

【问题讨论】:

  • 向我们展示您对用户的 unreadNotifications() 方法。因为我假设当前正在返回一个空集合?或者你有错误信息?
  • 不是它不为空。我使用 {{ Auth::user()->unreadNotifications->count() }} 它给了我号码
  • unreadNotifications 是通知功能的一部分吗?
  • 是的,很抱歉。在 foreach 循环中执行 @php dd($notification) @endphp 会得到什么。
  • DatabaseNotificationCollection {#962 ▼ #items: array:1 [▼ 0 => DatabaseNotification {#960 .太长了,这里不能复制粘贴。

标签: laravel laravel-5 laravel-notification


【解决方案1】:

来自 cmets 的通知对象有一个 data 属性,您的所有数据都存储在其中以便访问它:

改变:

{{ $notification->name }}

{{ $notification->data['name'] }}

并对所有数据执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    相关资源
    最近更新 更多