[英]Laravel How to properly handle values by id in an Eloquent Model
我有這樣的聯系人模型
class Contact extends Eloquent
{
protected $table = "contacts";
protected $position = array("frontend developer",
"light switch manager",
"product designer",
"head of tea kitchen");
}
在我的聯系人表中,我想使用$ position數組索引作為position-id來存儲聯系人的位置,例如:
id name pos_id email
--------------------------------------------------
1 George Teapotter 3 gtpot@maile.com
現在,在查詢聯系人模型時,如何有效地解析pos_id的對應數組字符串? 我在查詢中需要這樣的內容:
Contact::Select(name, **position(pos_id)**, email)->get();
獲得作為返回為json的結果:
{ "George Teapotter", "head of tea kitchen", "gtpot@maile.com" }
感謝您的任何提示。
您可以使用PHP輕松地做到這一點,不需要使用mysql,返回的結果是$ rows,因此當您像這樣循環結果時可以這樣做:
@foreach($rows as $row)
<tr>
<td>{{$row->name}}</td>
<td>{{$position[$row->pos_id]}}</td>
<td>{{$row->email}}</td>
</tr>
@endforeach
如果您想對json進行編碼,則可以循環執行結果:
<?php
foreach($rows as $row) {
$row->pos_id = $position[$row->pos_id];
}
?>
最好的方法是在數據庫中為您的位置創建另一個表,因為這意味着您也可以利用Eloquent關系...如果您渴望加載關系,幾乎不會有任何性能開銷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.