我使用laravel,我在产品和订单之间有很多关系。有一个名为order-product的数据透视表,其中包含不时更新的附加信息。我想更新' updated_at'当数据透视表中的相应行更新时,或者例如,如果添加了新产品,则在订单表中显示。 这可能吗?
产品和订单之间的关系是belongsToMany()
编辑:这是一些代码
class Order extends Model
{
protected $table = 'order';
protected $dates = ['updated_at'];
public function products()
{
return $this->belongsToMany(Product::class, 'order_product');
}
}
当我想通过调用删除产品时 $命令 - >产品(5) - >分离()
那么我在哪里放置laravel文档中提到的$ touches数组here
我已经尝试将其添加到产品型号中,但它无效。
答案 0 :(得分:1)
您可以使用Touching Parent Timestamps,这是一个示例(来自laravel docs)。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
/**
* All of the relationships to be touched.
*
* @var array
*/
protected $touches = ['post'];
/**
* Get the post that the comment belongs to.
*/
public function post()
{
return $this->belongsTo('App\Post');
}
}