【问题标题】:Prevent duplicate record when read/show data in LARAVEL在 LARAVEL 中读取/显示数据时防止重复记录
【发布时间】:2020-07-01 15:59:47
【问题描述】:

我设法显示来自网页的数据,但数据有两条记录。当我检查它有 duplicate id 的原因时。如何防止在一条记录中显示两个数据。即使 id 相同,我也希望显示单个数据。

使用 guzzle 从后端 api 提取数据

这是我的示例数据

array:2 [▼
  0 => {#902 ▼
    +"am_SN_no": "YESSZ0001243"
    +"am_tag_id": ""
    +"am_PO_no": ""
    +"am_model": "20107AC8A726"
    +"am_service_tag": ""
    +"am_supplier_ID": ""
    +"am_status_rec": "R01"
    
  }
  1 => {#918 ▼
    +"am_SN_no": "YESSZ0001243"
    +"am_tag_id": ""
    +"am_PO_no": ""
    +"am_model": "20107AC8A726"
    +"am_service_tag": ""
    +"am_supplier_ID": ""
    +"am_status_rec": "R02"
   
  }
]

此数据的唯一区别是 am_status_rec 。

这是我使用 guzzle 在控制器中提取数据的代码

 public function show($id)
    {
        

     $options = [
      'headers' => [
        'Content-Type' => 'application/json',
        'Accept' => 'application/json',

      ],

      'query' => [

        'am_SN_no' => $id,



      ]
    ];



    $response = $this->client->post('readAsset', $options)->getBody();
    $content = json_decode($response->getContents());
    

    $result = $content->data;
    dd($result);


    return view('asset.AssetRead',compact('result'));

  }

【问题讨论】:

  • 如果你想得到不重复的响应,你需要从你的后端请求响应(mysql group by)。但是,如果您不想请求,则需要为此使用循环
  • 谢谢...现在才意识到需要参考后端

标签: php laravel guzzle


【解决方案1】:

如果你使用 Laravel Eloquent,你需要使用 GroupBy 查询

【讨论】:

    【解决方案2】:

    在您的验证中(来自您的控制器),试试这个

         ['...'=>'....'
    'am_SN_no'=>'required|unique:tale_name',
    '....'=>'....',
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      • 2016-07-10
      相关资源
      最近更新 更多