我想获取今天Date的所有数据,但是在获取过程中,我想仅对一列的数据而不是其他列的数据应用操作。此操作来自另一个函数。
$data = Net::whereDate('created_at', Carbon::today())->get();
我有两个选择:
- 在获取数据期间,在特定列上调用该函数
- 获取数据后,放置一个循环,然后应用该操作并将数据保存到新对象中
在此表中,有一个名为profit的列,我想通过调用encode_code((函数将利润编码为字母表,以保持其他数据不变。
我不知道我该怎么做,如果有人知道,请帮助我。
您可以使用foreach
循环从集合中获取每个对象,并为每个对象调用所需的函数。
$data = Net::whereDate('created_at', Carbon::today())->get();
foreach($data as $key => $dat)
{
$data[$key]->profit = encode_code($dat->profit);
}
我认为你应该调用该函数并像这样转动它
我只是不知道你想做什么,所以这是我最好的
$data = Net::whereDate('created_at', Carbon::today())->get();
foreach($data as $i => $d){
$data[$i]->profit = encode_code($d->profit);
}
当然,您可以遍历结果并对每一行进行编码,但这会阻止您重用此代码。
相反,您可以将该编码函数直接放入模型中,以便可以在任何地方重用它:
public function getEncodedProfit() {
return encode_code($this->profit);
}
现在,您可以在控制器或视图中的任何位置使用此函数,如下所示:
echo $net->getEncodedProfit();