代码之家  ›  专栏  ›  技术社区  ›  Italo Rodrigo

对laravel上的字符串调用成员函数diff()

  •  0
  • Italo Rodrigo  · 技术社区  · 6 年前

    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的区别是不是->产品编号->dataValidade大于60,但我收到错误:

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Bostjan    6 年前

    在控制器中,您可以将DateTime转换为字符串 $vencimento = $vencimento->format('y-m-d'); 然后将此变量传递给视图。

    ->diff 在一根绳子上。如果需要输出格式化的DateTime,请传递DateTime对象以在那里查看并格式化它。

    另外,我建议用碳代替。