为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
海绵宝宝撒 2021-12-03 16:11:59
我在如下表中有两列  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 的对象无法转换为字符串
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

您需要使用get(), first(), pluck('column'), value('column')... 之类的方法发送查询。


lets say $marks = 70

public function getGrade($marks)

{

    $grade_point = Grade::where('from', '<=', $marks)->where('to', '>=', $marks);

    return (int)$grade_point->value('point');

}

该方法value('column')返回第一个结果的列值或空值。


查看完整回答
反对 回复 2021-12-03
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

你要打电话->first(),->get()或->all()执行的查询:


//  lets say $marks = 70

public function getGrade($marks)

{

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

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

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

    })->first();


    return $grade_point->point;

}

查看文档:https : //laravel.com/docs/5.8/queries#retrieving-results


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信