通知 Slack 发送数组

Notify Slack send Array

我正在尝试使用 Notify 将一些值从数据库发送到 Slack。不知何故,每次我加载我的网站时,我得到的唯一消息是 "Array" 而不是来自数据库的数据。

这是我的通知。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]);
    }

这是我在我的控制器上用来从 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/..../...../......';
   }

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

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