检查日期的查询中的错误laravel变量

时间:2017-02-07 13:12:19

标签: laravel

我在2天内尝试创建一个查询,以根据private void Vibration () { if(vibrator.hasVibrator()) { long ms[] = {0,50,60,50}; // 0 delay, vibrate(40 ms), sleep(60 ms), vibrate(40 ms) vibrator.vibrate(ms,-1); } }

选择正确的categorieAgerange

首先我有两张桌子:$variable = dt_naissance

licencie(id , ... , catg_licence_id)

这是我的函数库:

catg_licence(id , lb_name , nb_age_min , nb_age_max)

然后我想在查询之间选择propor public function store(Request $request) { $licencie = new Licencie; $licencie->club_id = $request->input('club_id'); $licencie->structure_id = $request->input('structure_id'); $licencie->dt_naissance = $request->input('dt_naissance'); $licencie->pays_naissance_id = $request->pays_naissance_id; //here i check the age of the licence $dt_naissance = Carbon::parse($request->dt_naissance)->diff(Carbon::now())->format('%y'); dd($dt_naissance) -> i get the good age like "2" for two years for people who select 2014 for exemple 到我的许可证并注入我的数据库

我试过这个:

catg_licence_id

但是我收到一个错误: SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'22'(SQL:从$catg_licence_id = CatgLicence::whereBetween($dt_naissance , ['nb_age_min' , 'nb_age_max'])->firstOrFail()->id; 中选择id其中(catg_licence在nb_age_min和nb_age_max之间))

有人知道如何解决问题?提前谢谢:)

1 个答案:

答案 0 :(得分:0)

whereBetween将列作为第一个参数。

->whereBetween('age', [1, 100])->get();

但在您的情况下,您可能想尝试

CatgLicence::where('nb_age_min', '<', $dt_naissance)
->where('nb_age_max', '>', $dt_naissance)
->first();

尝试一下,看看它是怎么回事。 Bonne chance!