通知Slack发送数组

时间:2018-11-07 16:06:42

标签: laravel notify

im尝试使用Notify将数据库中的某些值发送到Slack。无论如何,每次我加载网站时,我收到的唯一消息都是“ Array”,而不是来自数据库的数据。

这是我的Notifications .php

class InventoryReStock extends Notification
{
    use Queueable;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($reorder)
    {
      $this->reorder = $reorder;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['slack'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toSlack($notifiable)
    {
      return (new SlackMessage)
            ->content([$this->reorder]);
    }

这是Im在我的控制器上用来从Db获取数据的功能

public function index()
    {
        //shows all the products in the database in an overview
        $products = Product::all()->toArray();

        $reord = Product::select('Product_Name')->where('Number_Runs', '<=', '5')->get();
        $reorder = json_decode(json_encode($reord), true);
        Notification::route('slack', 'https://hooks.slack.com/services/..../...../......')->notify(new InventoryReStock($reorder));

        return view('products.lab_inventory_overview', compact('products', 'reorder'));
    }

这是我的User.php

public function routeNotificationForSlack($notification)
   {
       Return 'https://hooks.slack.com/services/..../...../......';
   }

1 个答案:

答案 0 :(得分:0)

没关系,我找到了解决方案。只需将数组转换为字符串即可。

$ reorder = implode(',',array_flatten($ reorde));