【问题标题】:how to select query tables column with objects in query builder如何在查询生成器中选择带有对象的查询表列
【发布时间】:2020-04-23 04:00:12
【问题描述】:

我正在使用查询生成器加入两个表。这是示例

$events = DB::table('eventcalenders')
        ->select('eventcalenders.id','eventcalenders.event_name',)
        ->join('countries', 'eventcalenders.country_id', '=', 'countries.id')->get();

我可以将 eventcalender 的对象声明为 e 并选择对象名称,例如 'e.id','e.event_name'。?

【问题讨论】:

    标签: sql laravel query-builder


    【解决方案1】:
     $events = DB::table('eventcalenders') 
               ->select('eventcalenders.id','eventcalenders.event_name','countries.*') 
               ->join('countries', 'eventcalenders.country_id', '=', 'countries.id') 
               ->get();
    

    得到结果之后

     foreach($events as $event)
     {
       echo $event->event_name;
       echo $event->country_name; //your specific field
     }
    

    【讨论】:

      【解决方案2】:

      是的,在查询之后,您需要遍历它们,因为它们不止一项:

      foreach($events as $e){
         $name = $e->event_name;
      }
      

      如果您只想选择第一个符合您的限制条件的,请使用.first()

      $event = DB::table('eventcalenders')
              ->select('eventcalenders.id','eventcalenders.event_name',)
              ->join('countries', 'eventcalenders.country_id', '=', 'countries.id')->first();
      $name = $event->event_name;
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-27
        • 2015-04-17
        • 2014-05-19
        • 2016-04-02
        • 1970-01-01
        • 2022-01-18
        • 2019-05-07
        相关资源
        最近更新 更多