.............................
id | Sun | Mon | Tue | Wed |
.............................
1 | 0 | 1 | 1 | 1 |
.............................
现在我从此查询中获取所有列名称:
DB::getSchemaBuilder()->getColumnListing('weak');
它返回所有列名称
的数组
但是我希望那些具有1值的列名如何获得那些在laravel中具有1个值的列。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
您可以将array_keys()
与第二个参数一起使用:
$object = DB::table('weak')->first();
$columns = array_keys((array)$object, 1);
结果将是:
['Mon', 'Tue', 'Wed']
答案 1 :(得分:-1)
我认为您需要使用IF函数构建自定义查询
SELECT
(IF(table.Sun == 1) table.Sun,)
(IF(table.Mon == 1) table.Mon,)
......
table.id
FROM table