使用队列将数据插入 table
Insert data into table using queue
我正在使用 Laravel 队列函数自动将数据插入数据库 table。如果table里面没有记录,数据会自动保存。我的第一步是能够将数据插入 table 然后只进行验证。但是,我的数据似乎无法插入数据库。
我的队列函数
public function save_sale_price_on_the_fly($job, $data)
{
$selling_price = array_get($data, 'price');
$item_id = array_get($data, 'item_id');
$payee_id = array_get($data, 'payee_id');
DB::table('customer_products')
->where('product_id', '=', $item_id)
->where('customer_id', '=', $payee_id)
->where('different_price', '=', $selling_price)
->first();
}
我的模型
static::saved(function($model)
{
if (!$model->item_id && $model->payee_id && $model->price) {
Queue::push('InvoiceQueue@save_sale_price_on_the_fly', $model->toArray());
}
});
商品、收款人和价格是从另一个table返回的。我正在尝试将这 3 个值传递到我的 customer_products table.
您的队列函数没有保存任何数据,它只是试图检索数据。
您需要明确保存数据。
将您的查询更改为:
DB::table('customer_products')
->insert([
'product_id' => $item_id,
'customer_id' => $payee_id,
'different_price' => $selling_price
]);
Laravel 4 文档在这里:https://laravel.com/docs/4.2/queries#inserts.
我正在使用 Laravel 队列函数自动将数据插入数据库 table。如果table里面没有记录,数据会自动保存。我的第一步是能够将数据插入 table 然后只进行验证。但是,我的数据似乎无法插入数据库。
我的队列函数
public function save_sale_price_on_the_fly($job, $data)
{
$selling_price = array_get($data, 'price');
$item_id = array_get($data, 'item_id');
$payee_id = array_get($data, 'payee_id');
DB::table('customer_products')
->where('product_id', '=', $item_id)
->where('customer_id', '=', $payee_id)
->where('different_price', '=', $selling_price)
->first();
}
我的模型
static::saved(function($model)
{
if (!$model->item_id && $model->payee_id && $model->price) {
Queue::push('InvoiceQueue@save_sale_price_on_the_fly', $model->toArray());
}
});
商品、收款人和价格是从另一个table返回的。我正在尝试将这 3 个值传递到我的 customer_products table.
您的队列函数没有保存任何数据,它只是试图检索数据。
您需要明确保存数据。
将您的查询更改为:
DB::table('customer_products')
->insert([
'product_id' => $item_id,
'customer_id' => $payee_id,
'different_price' => $selling_price
]);
Laravel 4 文档在这里:https://laravel.com/docs/4.2/queries#inserts.