猿问

如何在一个范围内找到值 - laravel

我在如下表中有两列


  id  start end  point

  1    50    70    5

  2    80    100   7

如何在下面的代码中找到值的范围.. 现在,当我提交标记 (70) 时,我想找到它所属的范围,以便获得相应的分数。


   lets say $marks = 70

   public function getGrade($marks)

          {

            $grade_point = Grade::where(function ($query) use ($marks) {

              $query->where('from', '<=', $marks);

              $query->where('to', '>=', $marks);

           return $grade_point->point;

 }

使用上面的代码,我得到了错误


类 Illuminate\Database\Eloquent\Builder 的对象无法转换为字符串


海绵宝宝撒
浏览 209回答 2
2回答

芜湖不芜

您需要使用get(), first(), pluck('column'), value('column')... 之类的方法发送查询。lets say $marks = 70public function getGrade($marks){&nbsp; &nbsp; $grade_point = Grade::where('from', '<=', $marks)->where('to', '>=', $marks);&nbsp; &nbsp; return (int)$grade_point->value('point');}该方法value('column')返回第一个结果的列值或空值。

慕莱坞森

你要打电话->first(),->get()或->all()执行的查询://&nbsp; lets say $marks = 70public function getGrade($marks){&nbsp; &nbsp; $grade_point = Grade::where(function ($query) use ($marks) {&nbsp; &nbsp; &nbsp; &nbsp; $query->where('from', '<=', $marks);&nbsp; &nbsp; &nbsp; &nbsp; $query->where('to', '>=', $marks);&nbsp; &nbsp; })->first();&nbsp; &nbsp; return $grade_point->point;}查看文档:https : //laravel.com/docs/5.8/queries#retrieving-results
随时随地看视频慕课网APP
我要回答