Я создал приложение с Laravel, приложение имеет таблицу order
, и каждый пользователь может вставить одну строку в эту таблицу за запрос. Я нашел в этой таблице две строки, которые имеют одинаковое время create_at и были созданы одним и тем же пользователем. Как он мог вставить две строки одним запросом? Может ли кто-нибудь дать мне какие-либо советы по проблеме? Спасибо!
У меня есть 2 таблицы, одна - заказ, другая - mt_order, которая принадлежит заказу (ключ foregin - order_id)
Код ниже:
$orderData['consecutive_count'] = $count = $user->getLatestConsecutiveCounts();
$orderData['rate'] = $user->getRate($count);
$orderData['lot'] = $orderData['base_lot'] * $orderData['rate'];//总手数
$order = $user->orders()->create($orderData);
$group = $user->group;
if($group->copy_type == 0)
{
if($type == 'buy')
{
$orderData['direct'] = 'sell';
}
else
{
$orderData['direct'] = 'buy';
}
}
$mtorder = $order->mtorder()->create($orderData);
$order->mt_order = $mtorder;
return
[
'status' => true,
'data' => $order,
];
У меня есть событие для orderCreated, но, похоже, оно ничего не делает , у него нет слушателя.
public $order;
public function __construct(Order $order)
{
if($order->user->group->copy_type == 1)
{
$type = $order->direct;
}
else
{
$type = $order->direct == 'long' ? 'short' :'long';
}
$data = [
'type' => 'exec',
'data' =>[
'laravel_id' => $order->id,
'MT_order_type' => $type, //多、空
'MT_open_price' => $order->open_price,
'MT_open_time' => $order->open_time,
'MT_take_profit' => $order->take_profit,//(int)
'MT_stop_loss' => $order->stop_loss,//int
],
];
$this->order = $data;
}
Я запускаю запрос с помощью Ajax, как это
$(".buy-sell a").on('click', function(){
let url = $(this).data('url');
bootbox.confirm({
message:'want to make order?',
buttons: {
confirm: {
label: 'confirm',
className: 'btn-success'
},
cancel: {
label: 'cancel',
className: 'btn-danger'
}
},
callback:function(result){
if(result == true){
$.ajax({
url:url,
type:'post',
success:function(data)
{
if(data.status)
{
let direct = data.data.direct == 1? '买入' :'卖出';
let str = '<ul class="list-inline" style="padding:10px"><li style="font-size:20px; color:#B7B7B7; width:100px">类型</li><li class="position-value">'+direct+'</li></ul> <ul class="list-inline" style="padding:10px"><li style="font-size:20px; color:#B7B7B7; width:100px">入场价格</li><li class="position-value" id="open_price">获取钟</li></ul><ul class="list-inline" style="padding:10px"><li style="font-size:20px; color:#B7B7B7; width:100px">入场时间</li><li class="position-value" id="open_time">获取中</li></ul>';
$("#current_position").empty().append(str);
$("#notes").remove();
view3.clear()
initData(0)
}
else
{
alert(data.message);
}
},
complete:function(xhr, text)
{
if(xhr.status == 429)
{
alert('request too times');
}
}
});
}
}
});
});