第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按值而不是鍵對 Laravel pluck() 進行排序?

按值而不是鍵對 Laravel pluck() 進行排序?

PHP
蠱毒傳說 2023-04-15 17:34:37
我有一個表單,其中包含一些由 JSON 填充的選擇元素。它看起來像下面這樣。{    "suppliers":        {"1":"Amazon","2":"Apple"},    "manufacturers":        {"1":"Apple","2":"Lenovo"},    "categories":        {"2":"Tablet","3":"Laptop","4":"Desktop"},    "status":        {"1":"Ready to Deploy","2":"Deployed","3":"Damaged","4":"Destroyed"}}如何按值(名稱)而不是鍵(id)排序?我已經(jīng)嘗試了所有我能想到的方法,并且搜索了我能想到的每一個短語,但它仍然沒有按照我需要的字母順序排序。請注意,如果直接在瀏覽器中查看 JSON,下面的 orderBy 將以正確的順序?qū)ζ溥M行排序,但在表單中,我的選擇元素仍然按鍵排序。public function getFormData(){    $suppliers = DB::table('supplier')->orderBy('sup_name','asc')->pluck('sup_name','id');    $manufacturers = DB::table('manufacturer')->orderBy('man_name','asc')->pluck('man_name','id');    $categories = DB::table('category')->where('parent_id', 1)->orderBy('cat_name','asc')->pluck('cat_name', 'id');    $status = DB::table('status')->orderBy('status','asc')->pluck('status', 'id');    return json_encode(compact('suppliers', 'manufacturers', 'categories', 'status'));}編輯:使用來自@Snapey 的以下語法,我能夠獲得正確的排序順序public function getFormData(){    $suppliers = DB::table('supplier')->orderBy('sup_name','asc')->get(['sup_name','id']);    $manufacturers = DB::table('manufacturer')->orderBy('man_name','asc')->get(['man_name','id']);    $categories = DB::table('category')->where('parent_id', 1)->orderBy('cat_name','asc')->get(['cat_name', 'id']);    $status = DB::table('status')->orderBy('status','asc')->get(['status', 'id']);    return json_encode(compact('suppliers', 'manufacturers', 'categories', 'status'));}新輸出:{    "suppliers":        [{"sup_name":"Amazon","id":1},{"sup_name":"Apple","id":2}],    "manufacturers":        [{"man_name":"Apple","id":1},{"man_name":"Lenovo","id":2}],    "categories":        [{"cat_name":"Desktop","id":4},{"cat_name":"Laptop","id":3},{"cat_name":"Tablet","id":2}],    "status":        [{"status":"Damaged","id":3},{"status":"Deployed","id":2},{"status":"Destroyed","id":4},{"status":"Ready to Deploy","id":1}]}不幸的是,現(xiàn)在我在我的選擇元素中得到了“object Object”并且值被關(guān)閉了。
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

將 id 作為命名元素包含在內(nèi),而不是將其用作數(shù)組索引。例如;


 $suppliers = DB::table('supplier')->orderBy('sup_name','asc')->get(['sup_name','id']);

然后在 json 中你將有一個id屬性


編輯:對于您的其他問題,例如


$.each(data, function(key, value) { 

  if(oldValue === value.id || newId === value.id){ 

    $elem.append('<option value="' + value.id + '" selected="selected">' + value.sup_name + '</option>');

}else{

   $elem.append('<option value="' + value.id + '">' + value.sup_name + '</option>'); } }); 

因為現(xiàn)在,數(shù)組中的每一項都是一個以 sup_name 和 id 作為屬性的對象


查看完整回答
反對 回復(fù) 2023-04-15
?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

以下將刪除關(guān)鍵數(shù)字,只為您留下一個具有新順序的數(shù)組:


public function getFormData()

{

    $suppliers = DB::table('supplier')->orderBy('sup_name','asc')->pluck('sup_name','id');

    $suppliers = array_values($suppliers);

    $manufacturers = DB::table('manufacturer')->orderBy('man_name','asc')->pluck('man_name','id');

    $manufacturers = array_values($manufacturers);

    $categories = DB::table('category')->where('parent_id', 1)->orderBy('cat_name','asc')->pluck('cat_name', 'id');

    $categories = array_values($categories);

    $status = DB::table('status')->orderBy('status','asc')->pluck('status', 'id');

    $status = array_values($status);


    return json_encode(compact('suppliers', 'manufacturers', 'categories', 'status'));

}


查看完整回答
反對 回復(fù) 2023-04-15
  • 2 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號