1
我試圖將我爲我的控制器編寫的代碼轉換爲模型,以便將信息拉入刀片中。將控制器代碼重寫爲Model Laravel 5
基本上我從我的數據庫中標記爲「邊距」的表格中隨機選取百分比並將其乘以多個項目的成本。然後,我需要做的是這樣
@foreach($item_cost as $ic)
Item Name: {{ $ic->name }} Cost: {{ $ic->cost }}
@endforeach
它拉從「項目」表中的項目名稱,然後在「邊緣」表乘以保證金基本成本。
public function drug_margins()
{
$locations = Locations::inRandomOrder()->get()->first();
$drugs = Drugs::inRandomOrder()->get()->first();
$margins = Margins::inRandomOrder()->get()->first();
$add = $locations->margin*$drugs->base_value*$margins->percent;
$cost = $add+$drugs->base_value;
return "<h2>Trismegistus Drug Cost Randomizer</h2><br>Drug Name: " . $drugs->name . "<br>" . "Location: " . $locations->name . "<br>" . "Location Margin: " . $locations->margin . "<br>" . "Margin: " . $margins->percent . "<br>" . "Drug Base Value: " . $drugs->base_value . "<br>" . "New Cost: " . $cost . "<br>";
}
如果這沒有意義,請讓我知道,所以我可以澄清。
TIA!
我試過使用來自第一個答案的信息,但它不工作100%。成本在不斷變化,但「藥物名稱」無論如何都保持不變。
這裏是我的模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Drugs extends Model
{
//
protected $table = 'drugs';
public function user_data()
{
return $this->belongsTo('user_data', 'TableID', 'id');
}
public function getCostAttribute()
{
$locations = Locations::inRandomOrder()->get()->first();
$drugs = Drugs::inRandomOrder()->get()->first();
// $drugs = Drugs::find(1)->get()->first();
$margins = Margins::inRandomOrder()->get()->first();
$add = $locations->margin*$drugs->base_value*$margins->percent;
$cost = $add+$drugs->base_value;
//$cost = array('name' => $drugs->name, 'base_value' => $drugs- >base_value, 'cst' => $cst); // Presents array but can't get it to work as variables in view
return $cost;
}
}
,這裏是我的控制器:
public function drug_margins()
{
$drugs = Drugs::inRandomOrder()->first();
$drugs = $drugs->cost;
dd($drugs); // Testing Phase
// return view('test.test', compact('drugs'));
}
有人能看到我在做什麼錯。現在藥物費用再次正在改變,但藥物名稱仍然是第一種阿司匹林藥物。
再次感謝!
那現在看起來很酷,我將能夠做一個foreach上,要把表中的所有成本都拉回來? – Trismegistus
好吧,部分工作,但我不拉回所有的信息正在改變。由於某種原因,藥物名稱沒有改變。 – Trismegistus