---
# System prepended metadata

title: 關聯表_@LIMO

---

# 關聯表_@LIMO

:::success

1.要處理關聯表，要先釐清資料表結構。
2.資料表可視為陣列(Array)包覆多筆物件(Object)。
3.而物件是由鍵(key)與值(value)所組成，並以鍵取出物件之值。

下方表格，即可成分解成上述形式:
:::

<table style="display:inline">
<tr>
<td colspan="3"><b>資料表</b></td><td><b>陣列顯示</b></td>
</tr>

<tr><td>id</td><td>name</td><td>price</td><td></td></tr>
<tr>
<td>1</td><td>a</td><td>100</td><td>["id"=>1,"name"=>"a","price"=>100]</td> 
</tr>

<tr>
<td>2</td><td>b</td><td>200</td><td> ["id"=>2,"name"=>"b","price"=>200]</td>
</tr>
</table>
<br><br>

<div>


 


</div>


即該資料欄位是否由多個值組成、還是指定應一個值。若是該資料欄位要塞入多筆

### 名詞解釋

|| N對一|N對多|
|-|:-:|:-:|
||該欄位只對應<b>1</b>筆資料|該欄位只對應<b>多</b>筆資料|
|使用函數名稱|hasOne()|hasMany()|
|| ![](https://i.imgur.com/fGwzMS2.png)| ![](https://i.imgur.com/fGwzMS2.png)| ![](https://i.imgur.com/fGwzMS2.png)|


|結構解釋|結構範例|
|-|-|
|hasOne('<a style="color:#f00">路徑</a>','<a style="color:#f00">欄位</a>','<a style="color:#00f">欄位')|hasOne('App\Productype','id','type_id')|
|hasMany('<a style="color:#f00">路徑</a>','<a style="color:#f00">欄位</a>','<a style="color:#00f">欄位')|hasMany('App\Productype','id','type_id')|
|🍋: <a style="color:#f00">對方的  <a style="color:#f00">對方的  <a style="color:#00f">自己的</a>| ![](https://i.imgur.com/fGwzMS2.png)|

N對一

        public function 函數名稱(){
            // 對應一個項目
            return $this->hasOne('App\Productype','id','type_id');
        }
<br>

N對多

        public function gotProductImg(){
            // 對應多個項目
            return $this->hasMany('App\Product','product_id','id');
        }     


### 資料表

<table style="display:inline">
<tr align=center>
<td colspan="2"><b>product_types</b></td>
</tr>

<tr><td style="color:#00f;">id</td><td>name</td></tr>
<tr><td>1</td><td>奇怪</td></tr>
<tr><td>2</td><td>可愛</td></tr>
</table>

<table style="display:inline">
<tr align=center>
<td colspan="4"><b>products</b></td>
</tr>

<tr><td style="color:#f00;">id</td><td>name</td><td style="color:#00f;">type_id</td><td>price</td></tr>
<tr><td>1</td><td>黛西</td><td>2</td><td>100</td></tr>
<tr><td>2</td><td>喬治</td><td>2</td><td>200</td></tr>
<tr><td>3</td><td>凱蒂</td><td>1</td><td>300</td></tr>
<tr><td>4</td><td>傑克</td><td>2</td><td>100</td></tr>
</table>

<table style="display:inline">
<tr align=center>
<td colspan="3"><b>product_imgs</b></td>
</tr>

<tr><td>id</td><td style="color:#f00;">product_id</td><td>imgs</td></tr>
<tr><td>1</td><td>1</td><td>e</td></tr>
<tr><td>2</td><td>1</td><td>f</td></tr>
<tr><td>3</td><td>2</td><td>g</td></tr>
<tr><td>4</td><td>2</td><td>h</td></tr>
<tr><td>5</td><td>2</td><td>i</td></tr>
<tr><td>6</td><td>3</td><td>g</td></tr>
<tr><td>7</td><td>3</td><td>k</td></tr>

</table>


