遠程一對多
遠程一對多關聯用于定義有跨表的一對多關系,例如:
- 每個城市有多個用戶
- 每個用戶有多個話題
- 城市和話題之間并無關聯
關聯定義
就可以直接通過遠程一對多關聯獲取每個城市的多個話題,City
模型定義如下:
<?php
namespace app\index\model;
use think\Model;
class City extends Model
{
public function topics()
{
return $this->hasManyThrough('Topic','User');
}
}
遠程一對多關聯,需要同時存在Topic
和User
模型。
hasManyThrough
方法的參數如下:
hasManyThrough('關聯模型名','中間模型名','外鍵名','中間模型關聯鍵名','當前模型主鍵名',['模型別名定義']);
關聯查詢
我們可以通過下面的方式獲取關聯數據
$city = City::get(1);
// 獲取同城的所有話題
dump($city->topics);
// 也可以進行條件搜索
dump($city->topics()->where('topic.status',1)->select());
文檔最后更新時間:2018-06-09 15:34:42
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題