对laravel上的字符串调用成员函数diff()
在我的控制器上,我有以下代码:对laravel上的字符串调用成员函数diff(),laravel,Laravel,在我的控制器上,我有以下代码: public function receita(Request $request){ $id = $request['id']; $marcacao = Marcacao::find($id); $produtos = ProdutoUnidade::where('unidade_id', $marcacao->agenda->vinculo->unidade->id)
public function receita(Request $request){
$id = $request['id'];
$marcacao = Marcacao::find($id);
$produtos = ProdutoUnidade::where('unidade_id', $marcacao->agenda->vinculo->unidade->id)
->get();
$vencimento = new DateTime(date("y-m-d"));
$vencimento->add(new DateInterval('P90D'));
$vencimento = $vencimento->format('y-m-d');
return view('agendas.receita', compact('marcacao', 'produtos', 'vencimento'));
}
在我的刀刃上,我有:
@foreach($produtos as $produto)
<option value="{{$produto->id}}">
{{$vencimento->diff($produto->produtoNota->dataValidade) > 60 ? '0' : '1'}}
</option>
@endforeach
@foreach($produto作为$produto)
{{$vencimento->diff($produto->produnota->dataValidade)>60?'0':'1'}
@endforeach
我想知道$vencimento和$produto->produtoNota->dataValidade的差值是否大于60,但我收到了错误:
对字符串调用成员函数diff()
有什么帮助吗?在控制器中,您可以使用
$vencimento=$vencimento->format('y-m-d')将DateTime转换为字符串代码>然后将此变量传递给视图
因此,您正在通过字符串调用->diff
。如果需要输出格式化的DateTime,请传递DateTime对象以在其中查看并格式化它
另外,我建议用碳来代替。我对这行注释$vencimento=$vencimento->format('y-m-d')代码>并生成其他错误:DateTime::diff()期望参数1是DateTimeInterface,给定字符串
如何使用carbon?我假设您没有将日期从数据库强制转换为carbon对象。看见