Php Laravel 5.2使用动态内容从选择插入
作为拉威尔的新手,我希望我能弄清这个相当令人恼火的问题 我有一个小应用程序,包括两种用户类型,买家和提供商,用户类型->买家可以为他们所需的服务请求免费估价,提供商可以手动创建此估价,或者根据他们为特定价格范围设置的默认值自动发送估价,因此,例如,如果用户买家请求估价为200英镑的服务,提供商可能已经设置了该价格范围的默认估价为180英镑至220英镑,这将向用户显示 我的问题是为了公平起见,我们使用laravel中的随机函数从providers_表中随机选择5个提供者及其默认估计值,并从orderBy以降序向用户显示,并在视图中循环显示结果Php Laravel 5.2使用动态内容从选择插入,php,mysql,laravel,Php,Mysql,Laravel,作为拉威尔的新手,我希望我能弄清这个相当令人恼火的问题 我有一个小应用程序,包括两种用户类型,买家和提供商,用户类型->买家可以为他们所需的服务请求免费估价,提供商可以手动创建此估价,或者根据他们为特定价格范围设置的默认值自动发送估价,因此,例如,如果用户买家请求估价为200英镑的服务,提供商可能已经设置了该价格范围的默认估价为180英镑至220英镑,这将向用户显示 我的问题是为了公平起见,我们使用laravel中的随机函数从providers_表中随机选择5个提供者及其默认估计值,并从orde
$projectbids = ProjectBids::where('provider_id', '=', $proid)
->where('category_id', '=', $catid)
->orderBy('bid_price', 'desc')
->get()->random(5);
foreach($projectbids as $bid)
{{ $bid->bid_price }}
endforeach
因此,我试图找到一种方法,将显示的5个估计插入到保存的_估计表中,这样,如果用户刷新页面或返回页面,模型和视图将不会根据调用的random5函数对提供者结果重新排序
我知道这个问题:但我不确定是否有更好或更简单的方法,因为我的问题在于我正在循环表中提供给视图的5个结果
简而言之:我希望能够将5个动态结果直接存储到一个保存的估计表中,该表包含多个列,如项目id、提供商id、用户id、估计价格,以便用户将来可以返回到保存的估计,而不必更改
非常感谢您的任何意见和建议,看看经验丰富的用户会提出什么建议将非常有帮助
谢谢
-更新了个人方法,以查看是否有改进的空间,并使其更适合laravel
$results = $bidders;
foreach($results as $row){
$project = $projectid;
$category = $row->category_id;
$provider = $row->service_providers_id;
$bidprice = $row->bid_price;
$propvalue = $row->property_value_id;
DB::table('static_bids')->insert(array(
'project_id' => $project,
'category_id' => $category,
'service_providers_id' => $provider,
'bid_price' => $bidprice,
'property_value_id' => $propvalue
));
}
您只需在表中使用简单的插入,如下所示: foreach$projectbids作为$bid{ $result=saveDestination::createarray 'project\u id'=>$bid->project\u id, “提供商id”=>$bid->提供商id, 'user\u id'=>$bid->user\u id, '预估价格'=>$bid->预估价格 ; }
无论如何,只使用一个查询是无法插入的。如果您希望这样做的唯一原因是以后向用户显示相同的HTML,那么您可以简单地存储输出HTML,但这是一种糟糕的做法。有趣的是,您应该这么说!你几乎刚刚想出了我上个小时所做的工作!这是我在注意到你回答问题之前所做的。检查我的升级问题,它们不太一样!你的例子很好。但如果您问如何使它更为Laravel友好,我建议您删除变量分配块。它看起来像$a=$b,这是冗余代码。此外,出于多种原因,最好使用雄辩的SQL,而不是原始SQL。但是,你更新的例子应该可以很好地工作。我对你的答案做了更多的修改,只是稍微修改了相关变量,因为我可以看出$a=$b的意思,当变量可以放在查询中并引用对象时,它会无意义地赋值两次。此外,我还更改了::first或create的::create方法,以进一步防止重复。感谢您抽出时间与helo Alexey见面,我非常感谢: