Laravel在控制器函数

时间:2017-05-31 23:03:32

标签: php laravel-5

这是我的控制器中的一部分功能

    $res= Commande::where('idClient',$id)->where('created_at',$datejour)->where('adresse',$addr)->get();
    if($res->isEmpty())
    {...
    }
    else
    {
        try {
        $resultat =\DB::table('ligne_commandes')->insert(['idCom'=>$res->idCom,'nomChaussure'=>$nomChaussure,'marque'=>$marque,'couleur'=>$couleur,'quantite'=>'1','pointure'=>$point]);
        return redirect()->back()->withErrors('Vous serez livrée dans un délai de 48 heures');
        }

        catch (\Illuminate\Database\QueryException $e) {
        return redirect()->back();

        }
    }

}

当我尝试使用$ res-> idCom时,我收到了此错误 此集合实例上不存在属性[idCom]。 有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您正在使用get()而不是first()来获取结果集。

两者之间的区别在于get()将返回与查询条件匹配的所有记录(数组),而first()将仅返回与查询条件匹配的一条记录。所以根据你的查询,我猜你只希望得到一个结果。因此,请使用first()代替get(),如:

$res= Commande::where('idClient',$id)->where('created_at',$datejour)->where('adresse',$addr)->first();