【问题标题】:Call to a member function find() on array调用数组的成员函数 find()
【发布时间】:2022-11-16 15:55:00
【问题描述】:
 "message": "Call to a member function find() on array",
    "exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",

如何从下面的数组中获取 id 参数: 当我传递参数 1 时,我只想获取第一个元素,当 id 为 2 时,我获取数组的第 2 项

  public function payments($id){
        $data = [
            ['id' => 1, 'amount' => '22000', 'name' => 'ken'],
            ['id' => 2, 'amount' => '24000', 'name' => 'ken'],
            ['id' => 3, 'amount' => '26000', 'name' => 'ken'],
            ['id' => 4, 'amount' => '2000', 'name' => 'tom'],
        ];

        return $data->find($id);
    }

【问题讨论】:

  • How do I get the id parameter from the array below: 有4个。你希望你的最终数组看起来像什么,或者你只是想循环遍历它们?
  • 我想从 url 参数中获取 id 并显示特定项目

标签: laravel eloquent laravel-8


【解决方案1】:

因为我们使用的是多维数组,所以我们可以使用array_searcharray_column

$data = [
    ['id' => 1, 'amount' => '22000', 'name' => 'ken'],
    ['id' => 2, 'amount' => '24000', 'name' => 'ken'],
    ['id' => 3, 'amount' => '26000', 'name' => 'ken'],
    ['id' => 4, 'amount' => '2000', 'name' => 'tom'],
];
        
$key = array_search($id, array_column($data, 'id'));
echo var_dump($data[$key]);

【讨论】:

    【解决方案2】:

    如果你想要一个使用集合的“Laravel”替代解决方案

    public function payments($id){
        $data = [
            ['id' => 1, 'amount' => '22000', 'name' => 'ken'],
            ['id' => 2, 'amount' => '24000', 'name' => 'ken'],
            ['id' => 3, 'amount' => '26000', 'name' => 'ken'],
            ['id' => 4, 'amount' => '2000', 'name' => 'tom'],
        ];
        $data = collect($data);
        return $data->where('id', $id)->first();
    }
    

    【讨论】:

      【解决方案3】:
      public function payments($id){
          $data = [
              ['id' => 1, 'amount' => '22000', 'name' => 'ken'],
              ['id' => 2, 'amount' => '24000', 'name' => 'ken'],
              ['id' => 3, 'amount' => '26000', 'name' => 'ken'],
              ['id' => 4, 'amount' => '2000', 'name' => 'tom'],
          ];
          $data = collect($data);
          return $data->where('id', $id)->all();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-17
        • 1970-01-01
        • 1970-01-01
        • 2023-02-06
        • 1970-01-01
        • 2021-09-04
        • 2016-07-22
        相关资源
        最近更新 更多