簡體   English   中英

Laravel如何在雄辯模型中通過id正確處理值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM