【问题标题】:Laravel Get Join Data And Non Join DataLaravel 获取连接数据和非连接数据
【发布时间】:2021-04-06 07:59:11
【问题描述】:

我正在尝试使用 join 获取两个表数据

    // $participantstation = DB::table('participant_station')
        // ->join('reviews', 'participant_station.id', '=', 'reviews.participant_station_id')
        // ->select('reviews.*', 'participant_station.*')
        // ->where('station_id',$stn->id)
        // ->where('status', '100')
        // ;

仍然有一些参与者没有链接,这意味着 -participant_station.id', '=', 'reviews.participant_station_id

如果我尝试此代码,它只会显示链接的参与者

有没有办法使用此类查询同时显示链接和非链接参与者?

谢谢

【问题讨论】:

  • 你用的是哪个 laravel 版本?
  • @HassaanAli 5.8

标签: php laravel join laravel-5


【解决方案1】:

假设您尝试使用 Eloquent ORM 获取所有详细信息,您可以执行以下操作:

$participantstation= ParticipantStation::join('participant_station', 'participant_station.id', '=', 'reviews.participant_station')->get(['reviews.*', 'participant_station.*']);

这将加入表格

【讨论】:

    【解决方案2】:

    试试这个,

    模型-> ParticipantStation.php:-

    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    
    class ParticipantStation extends Model
    {
        public function reviews()
        {
            return $this->hasMany('App\Models\Review');
        }
    }
    

    模型-> Review.php:-

    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Review extends Model
    {
        public function participant_station()
        {
            return $this->BelongsTo('App\Models\ParticipantStation','participant_station_id');
        }
    }
    

    在controller.php中

    use App\Models\ParticipantStation;
    
    $participantstation = ParticipantStation::with('reviews')->where('station_id',$stn->id)->where('status', '100')->get();
    
    //dd($participantstation);
    
    

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2017-04-11
      • 2016-04-15
      • 1970-01-01
      • 2013-04-25
      • 2011-05-28
      相关资源
      最近更新 更多