內此分貝結構/關係我有以下分貝表設置Laravel 4:一種更好的方式來表示laravel
+--------------+ +--------------+ +-----------------------+
| users | | clients | | user_clients |
+--------------+ +--------------+ +----------------------+
| id | | id | | usersid |
| name | | name | | clientid |
| authid | | email | +----------------------+
| (plus) | | (plus) |
+-------------+ +-------------+
我已經設置了一個關係表並[b] user_clients [/ B]與外鍵到相關的數據庫,所以userid是鏈接到users-> id和clientid鏈接到clients-> id。
依賴於用戶驗證ID是很多客戶的鏈接方式:
AUTHID 1:用戶只能有一個客戶端與之關聯。
AUTHID 2:用戶只能有一個與之關聯的
AUTHID 3的許多客戶:用戶有權訪問的所有客戶端。
所以當我是新來laravel的這種關係方面目前我會做查詢得到一些細節例如很多:
我會做這樣的:
$userClient =UsersClients::select('clientid')->where('userid','=',$userid)->get();
然後我可能會循環查看結果,然後獲取每個客戶端詳細信息並輸出到頁面。
foreach($userClient as $i ->$cleint){
echo '<div>' .$cleint->name . '</div>';
........
}
這會是一個古老的方式可以把它處理好?
----------------編輯---------------
我設法將其排序如下所示:
用戶模型:
public function clients() {
return $this->hasMany('UsersClients','userid');
}
用戶控制器
$selectedUserClients = User::find(24)->clients;
我得到同樣的出落得如我以前的結果,作爲客戶端ID的1 & 2,但現在如何從實際的客戶端數據庫客戶端的細節基本上是有更簡單的方式,執行以下操作:
foreach ($selectedUserClients as $key => $client) {
$clientInfo = Client::select('id','clientname')->where('id','=',$client->clientid)->get();
echo $clientInfo[0]->clientname;
}
多個用戶可以屬於同一個客戶端嗎? – user1669496
是啊!對不起,客戶端可以有一個到很多的用戶以及用戶可以有一個或多個客戶端或所有依賴於身份驗證編號 –