在laravel

时间:2018-09-16 18:57:45

标签: laravel

在我的控制器上,我有以下代码:

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

我想知道$ vencimento和$ produto-> produtoNota-> dataValidade的差是否大于60,但是我收到错误消息:

  

在字符串上调用成员函数diff()

有帮助吗?

1 个答案:

答案 0 :(得分:1)

在控制器中,您将dcast(df, id ~ var, value.var ='val', fun.aggregate =function(x) paste(x[1])的DateTime转换为字符串,然后将此变量传递给视图。

因此,您要在字符串上调用$vencimento = $vencimento->format('y-m-d');。如果需要输出格式化的日期时间,请传递DateTime对象以在那里查看和格式化它。

P.S。我建议改用碳。