【问题标题】:how to get columns name by columns value in laravel如何通过laravel中的列值获取列名
【发布时间】:2018-08-16 02:25:39
【问题描述】:

表(技能)

有很多技能,列类型 boolean(0,1),by laravel 如果技能值等于 1 且 user_id 等于 1,我想获取列的名称, 不说列名,因为他们有 50 种技能,我在 sublime 上试过这个

<?php
$variable2=App\Skill::where('user_id',Auth::user()->id)
       ->where('job_id','null')
       ->get();
?>


@foreach($variable2 as $key1 => $value1)

      @if($value1='1')
          <span class="tags">{{ $key1 }}</span>
      @endif 
@endforeach

【问题讨论】:

    标签: php mysql laravel laravel-5


    【解决方案1】:

    好吧,看起来你忘记了,get 返回一个技能集合。您必须使用两个循环。

    <?php
    $userSkills = App\Skill::where('user_id',Auth::user()->id)
           ->where('job_id','null')
           ->get();
    ?>
    <!-- loop through a list of user skills (get gives us a set of skills -->
    @foreach($userSkills as $skill)
          <!-- loop through skill properties -->
          @foreach($skill->toArray() as $key => $value)
              @if($value)
                  <span class="tags">{{ $key }}</span>
              @endif 
          @endforeach
    @endforeach
    

    【讨论】:

      【解决方案2】:
      <?php    $variable2=App\Skill::where('user_id',Auth::user()->id)
                 ->where('job_id','null')
                 ->where('user_id', 1)
                 ->get();
      
          $skills = $variable2->filter(function ($item) { return $item === 1; })->keys();
      ?>
      
          @foreach($skills as $key)
          <span class="tags">{{ $key }}</span>
          @endforeach
      

      【讨论】:

      • 如果他使用强制转换(true1 不相等),过滤将无济于事
      猜你喜欢
      • 2013-01-13
      • 2023-02-02
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多