laravel 模型關聯查詢的 belongsToMany

long0發表於2021-02-21
 a表:a_table
 +------+--------+
 | a_id | a_name |
 +------+--------+

 b表:b_table
 +------+--------+
 | b_id | b_name |
 +------+--------+

 中間表:a_b_table
 +------+------+------+
 | id | a_id | b_id |
 +------+------+------+

在a表AModel 中的函式:

public function relateToB(){
    return $this->belongsToMany("App\Models\BModel", "a_b_table", "a_id", "b_id");
}

belongsToMany引數詳解:

  1. 第一個引數:a表將要關聯的b表模型。
  2. 第二個引數:中間表表名。
  3. 第三個引數:中間表的a表外來鍵。即中間表關聯a表所對應的鍵。
  4. 第四個引數:中間表的b表外來鍵。即中間表關聯b表所對應的鍵。

查詢的結果相當於 inner join,而非 left join,同樣belongsToMany也會返回重複內容。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章