在laravel表列表中自定义列和多个字段排序

时间:2016-11-02 10:39:31

标签: php laravel laravel-5 eloquent

我有laravel项目,其中列出了用户以及管理员中的电子邮件,电话等相关属性。我想给管理员一个选项来自定义列表中的列。(像这样https://youtu.be/lKnMPYtQg_c)有14个属性,用户可以从中选择列。使用laravel Eloquent实现此目的的最佳方法是什么?

class User extends Authenticatable
{
 public function locations()
    {
        return $this->belongsToMany('App\Location', 'user_locations', 'usersId', 'locationId');
    }
    public function interests()
    {
        return $this->belongsToMany('App\Interest', 'user_interests', 'usersId', 'interestId');
    }
    }

另外一些列需要有多个排序选项,比如排序名称,然后根据年龄对结果进行排序。

是否有任何可用的包处理这种情况?或者我可以参考哪些示例代码?

2 个答案:

答案 0 :(得分:0)

您可以使用自定义的可过滤特征。 Here就是这种特质的一个例子,虽然它不是专门针对你所要求的设计。

您可以将其与eager loading结合使用,以加载所选关系并根据可过滤字段进行排序。

答案 1 :(得分:0)

这可能不是您问题的100%解决方案,但我知道一个名为 - Fractal的流行软件包,它可以帮助您根据客户端请求转换数据。

您可以使用此包来处理不同的情况。希望这会对你有所帮助!