【问题标题】:Convert an array of arrays in Vue.js在 Vue.js 中转换数组数组
【发布时间】:2023-03-23 11:35:01
【问题描述】:

如何在 Vue.js 中将数组转换为单个数组?在我的php 后端,我有下面的代码从数据库中获取数据。我现在的问题是我不知道如何将它们在我的 js 端转换为单个数组。

PHP端:

$name = DB::raw("CONCAT(emp.first_name, ' ', emp.last_name) AS name");
$nameCol = [];
$usedDate = '2018-07';
$date = 'attendance.date';
$total  = 'attendance.total';

for($i = 1; $i<32; $i++){
    if($i<10) $i = '0'.$i;
        $names = DB::table('attendance')
                 ->leftJoin('m_emp','m_emp.emp_key','=','attendance.emp_key')
                 ->select($name,$date,$total)
                 ->where(DB::raw("(DATE_FORMAT(attendance.date,'%Y-%m-%d'))"), '=', $usedDate.'-'.$i)
                 ->get();
        array_push($nameCol,$names);
}
return (array)$nameCol;

结果是这样的:

每个数组里面是这样的:

最后里面是这样的:

我可以对其进行 for 循环以将其转换为单个数组吗?如何?或者我可以立即搜索其中的项目吗?因为我尝试过使用这样的方式进行搜索,但我认为这只能搜索或在单个数组中工作(这就是我想将它们合并到一个数组的原因):

Vue.js 方面

list.find( empName=> empName.name === 'John Doe')
//let's assume list is the variable that receives data returned from php
//result for this one is undefined.

知道怎么做吗?

【问题讨论】:

标签: javascript arrays vue.js


【解决方案1】:

您可以使用array_merge 代替array_push

我猜你正在使用 Laravel ,你必须在合并之前将 collection 转换为 array ,参见示例:

$name = DB::raw("CONCAT(emp.first_name, ' ', emp.last_name) AS name");
$nameCol = [];
$usedDate = '2018-07';
$date = 'attendance.date';
$total  = 'attendance.total';

for($i = 1; $i<32; $i++){
    if($i<10) $i = '0'.$i;
        $names = DB::table('attendance')
                 ->leftJoin('m_emp','m_emp.emp_key','=','attendance.emp_key')
                 ->select($name,$date,$total)
                 ->where(DB::raw("(DATE_FORMAT(attendance.date,'%Y-%m-%d'))"), '=', $usedDate.'-'.$i)
                 ->get();
        // use array_merge
        $nameCol = array_merge($nameCol,$names->toArray());
}
return (array)$nameCol;

【讨论】:

  • 感谢输入,但是这个结果和array_push一样。
  • @ramedju 在这种情况下你使用 Laravel 吗?
  • @SimonLay 是的,我是 :) 我会检查一下。 编辑:添加后,返回的项目为空。
  • @ramedju 啊,我忘记了代码中的某些内容。请添加它。使用 $nameCol 保存合并后的数据。看我的回答。
  • @SimonLay 抱歉,我在这里尝试自己的方式。无论如何,它现在有效。我可以使用我的搜索代码 :) 也许请支持我的问题,这样它就不会再被其他用户标记为重复了。
猜你喜欢
  • 2017-12-15
  • 2021-08-03
  • 2021-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
相关资源
最近更新 更多