Laravel 5.2使用动态内容

时间:2016-02-21 03:59:23

标签: php mysql laravel

作为laravel的新手,我希望我能够触及这个相当恼人的问题的底部!

我有一个小应用程序,包含2种用户类型,买方和提供商,usertype->买家可以请求免费估算他们需要的服务,提供商可以手动创建或自动发送估算他们设置为该特定价格范围的默认值,例如,如果用户(买方)要求对200英镑的服务进行估算,则提供商可能已将该价格范围的默认估计值设置为180英镑 - 220英镑。这将是向用户显示的内容。

我遇到的问题是公平地说,我们使用laravel中的随机函数从providers_table中随机选择5个提供者及其默认估计值,并从orderBy以降序向用户显示,并循环显示结果图。

$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个显示的估计值插入到saved_estimates表中,这样如果用户刷新页面或返回页面,模型和视图将不会根据随机值重新排序提供者结果( 5)被调用的函数。

我知道这个问题:Create a Insert... Select statement in Laravel但不确定是否可以有更好或更简单的方法来解决这个问题,因为我的问题在于我循环通过提供给从桌子上看。

简而言之:我希望能够将5个动态结果直接存储到saved_estimations表中,其中包含多个列,例如project_id,provider_id,user_id,estimated_price,这样用户可以在没有它们的情况下回到他们保存的估计值变化

非常感谢任何意见和建议,看看更有经验的用户建议的内容会非常有帮助。

由于

- 更新了个人方法,看看是否有改进的空间,并使其更加友好。

    $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
        ));
      }

1 个答案:

答案 0 :(得分:2)

您只需要在表格中使用简单的插入,如下所示:

foreach ($projectbids as $bid) { $result = SavedEstimation::create(array( 'project_id' => $bid->project_id, 'provider_id'=> $bid->provider_id, 'user_id' => $bid->user_id, 'estimated_price' => $bid->estimated_price )); }

无论如何只能使用一个查询无法插入此内容。您可以简单地存储输出HTML,如果您想要这样做的唯一原因是稍后向用户显示相同的HTML,但这是不好的做法。