Я хочу добавить foreach к своему электронному письму, чтобы показать продажу продукта по почте. Он отлично работает без foreach.
При использовании foreach он показывает мне ошибку: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'e-shop.order_product' doesn't exist
loaded.blade. php
@component('mail::message')
# Order Received
@foreach ($order->products as $product)
Name: {{ $product->name }} <br>
Price: ${{ round($product->price / 100, 2)}} <br>
Quantity: {{ $product->pivot->quantity }} <br>
@endforeach
@endcomponent
OrderPlaced. php
use App\Order;
class OrderPlaced extends Mailable
{
use Queueable, SerializesModels;
public $order;
public function __construct(Order $order)
{
$this->order = $order;
}
public function build()
{
return $this->to($this->order->billing_email, $this->order->billing_name)->subject('Commande reçue')->markdown('emails.orders.placed');
}
}
Заказ. php
class Order extends Model
{
protected $fillable = [
'user_id', 'billing_email', 'billing_name', 'billing_address', 'billing_city',
'billing_province', 'billing_postalcode', 'billing_phone', 'billing_name_on_card', 'billing_discount', 'billing_discount_code', 'billing_subtotal', 'billing_tax', 'billing_total', 'payment_gateway', 'error',
];
public function user()
{
return $this->belongsTo('App\User');
}
public function products()
{
return $this->belongsToMany('App\Product')->withPivot('quantity');
}
}
Товар. php
namespace App;
use Illuminate\Database\Eloquent\Model;
class OrderProduct extends Model
{
protected $table = 'order_products';
protected $fillable = ['order_id', 'product_id', 'quantity'];
}
Я не знаю, в чем проблема и почему я не могу добавить этот foreach в свою почту
Спасибо за вашу помощь.