3

このクエリを Laravel 雄弁な Orm で実行したいと考えています。

"SELECT a.* from $tbl1 a, $tbl2 b Where a.user_id = b.user_id and a.order_id = 1";

さらに、私の$tbl1名前は動的であり、変数 $a は要件によって変更されます。

$a = 'user';
$tbl1 = $a . '_order';

今、私は次のような2つのモデルを持っています

Class AB{
  public function b(){
    return $this->hasOne('B','user_id');
  }
}

Class B{
  protected $table = 'user';
  public function ab(){
    return $this->belongsTo('AB','user_id');
  }
}

私のコントローラー

Class AController{
  public function hello($tbl){
    $a= new AB;
    $a->setTable($tbl);
    $where = ['order_id' => 1];
    $query = $a->with('b')->where($where)->get();
  }
}

ただし、モデル名がABであるためABモデルテーブル名を返しますabsが、予想されるテーブル名はuser_order

4

0 に答える 0