Php 如何在laravel中选择具有和运算符的情况
我有一个查询,当不同列中的值有一个活动的id时,比如id_test=1注意,如果id在0中,则有一个case stament 这就是问题所在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 =
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()