我想操纵集合中的值!我收到的样式号为12345-D-002。我必须在“-”上对此进行分解,以获取样式号的第一部分。
模型订单中的收款代码:
public static function getPicklistToday($date)
{
$sql = "
SELECT
oxid_orderarticles.OXARTNUM as style,
sum(oxid_orderarticles.OXAMOUNT) as ANZAHL,
oxid_orderarticles.OXSELVARIANT,
oxid_import.imported
FROM oxid_orderarticles
LEFT JOIN oxid_import
ON oxid_import.oxid = oxid_orderarticles.OXORDERID
WHERE DATE(oxid_import.imported) = :date
GROUP BY oxid_orderarticles.OXARTNUM
ORDER BY oxid_orderarticles.OXARTNUM ASC
";
$pick = DB::select($sql,[':date'=>$date]);
return $pick;
}
这是一种方法,该方法也应以模型顺序分解从查询返回的“样式”:
public function getParentStyle()
{
$parent = explode("-",$this->style);
return $parent[0];
}
OrderController中的方法:
//------------------------
public function today()
{
$today = Order::getPicklistToday(Carbon::now()->format('Y-m-d'));
return view('order.today',compact('today'));
}
今天视图的一部分。blade.php:
@foreach($today as $pos)
<tr>
<td><i class="far fa-square"></i></td>
<td><b>{{$pos->AMOUNT}}x</b></td>
<td>{{$pos->getParentStyle()}}</td>
<td>{{$pos->style}}</td>
<td>{{$pos->OXSELVARIANT}}</td>
</tr>
@endforeach
我收到以下错误消息:
调用未定义的方法stdClass :: getParentStyle()(查看:/var/www/html/app/resources/views/order/today.blade.php)
getParentStyle()方法应如何使我的代码运行?
答案 0 :(得分:0)
我建议在这里使用accessor。将此添加到您的Order
模型中:
/**
* Get the parent style of the order.
*
* @return string
*/
public function getParentStyleAttribute()
{
$parent = explode("-", $this->style);
return $parent[0];
}
现在您可以像这样访问值:
<td>{{ $pos->parentStyle }}</td>