【发布时间】:2014-01-18 03:01:56
【问题描述】:
我正在使用 Laravel 框架,我有 MyModel。
namespace App\Models;
use Illuminate\Support\Facades\DB;
class MyModel extends \Eloquent {
//Some stuff goes here
}
我已经制作了这个函数来对数组的数据进行分组。 效果很好。
public static function GroupBy($array, $key){
$grouped = array();
foreach($array as $arr){
if(!array_key_exists($arr->MyModel['id'], $grouped)){$grouped[$arr->MyModel['id']] = array();}
array_push($grouped[$arr->MyModel['id']], $arr[$key]);
}
return $grouped;
}
现在我希望通过传递我的分组模型来使这个函数更通用。换句话说,我希望能够将MyModel['id'] 作为另一个参数传递。 类似:
$by = "MyModel['id']";
public static function GroupBy($by, $array, $key){
$grouped = array();
foreach($array as $arr){
if(!array_key_exists($arr->$by, $grouped)){$grouped[$arr->$by] = array();}
array_push($grouped[$arr->$by], $arr[$key]);
}
return $grouped;
}
最后一个解决方案不起作用。它返回给我一个包含所有id 的数组。
【问题讨论】:
标签: php laravel arguments laravel-4