Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel中选择具有和运算符的情况_Php_Mysql_Laravel - Fatal编程技术网

Php 如何在laravel中选择具有和运算符的情况

Php 如何在laravel中选择具有和运算符的情况,php,mysql,laravel,Php,Mysql,Laravel,我有一个查询,当不同列中的值有一个活动的id时,比如id_test=1注意,如果id在0中,则有一个case stament 这就是问题所在 select case when id_test1 = 1 then note_test1 else 0 end + case when id_test2 =

我有一个查询,当不同列中的值有一个活动的id时,比如id_test=1注意,如果id在0中,则有一个case stament

这就是问题所在

select                                              
    case when id_test1 = 1 then note_test1 else 0 end +                                             
    case when id_test2 = 1 then note_test2 else 0 end +                                             
    case when id_test3 = 1 then note_test3 else 0 end +                                             
    case when id_test4 = 1 then note_test4 else 0 end +                                             
    case when id_test5 = 1 then note_test5 else 0 end +                                             
    case when id_test6 = 1 then note_test6 else 0 end +                                             
    case when id_test7= 1 then note_test7 else 0 end as total_weighted                                              
    from rp_student where id = 1

这是我在拉雷维尔的问题

$weighted= DB::table('rp_student')
        ->select(DB::raw('case when id_test1 = 1 then note_test1 else 0 end +                                               
    case when id_test2 = 1 then note_test2 else 0 end +                                             
    case when id_test3 = 1 then note_test3 else 0 end +                                             
    case when id_test4 = 1 then note_test4 else 0 end +                                             
    case when id_test5 = 1 then note_test5 else 0 end +                                             
    case when id_test6 = 1 then note_test6 else 0 end +                                             
    case when id_test7= 1 then note_test7 else 0 end as total_weighted'))
        ->where('id','=',1);

它没有返回任何值

您的查询在末尾缺少所需的
->get()
。您当前看不到值的原因是查询尚未实际执行

get方法返回一个包含结果的lightize\Support\Collection,其中每个结果都是PHP stdClass对象的实例。您可以通过访问列作为对象的属性来访问每列的值:


您的查询在末尾缺少所需的
->get()
。您当前看不到值的原因是查询尚未实际执行

get方法返回一个包含结果的lightize\Support\Collection,其中每个结果都是PHP stdClass对象的实例。您可以通过访问列作为对象的属性来访问每列的值:

尝试添加
->get()
尝试添加
->get()