我有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');
}
}
另外一些列需要有多个排序选项,比如排序名称,然后根据年龄对结果进行排序。
是否有任何可用的包处理这种情况?或者我可以参考哪些示例代码?
答案 0 :(得分:0)
您可以使用自定义的可过滤特征。 Here就是这种特质的一个例子,虽然它不是专门针对你所要求的设计。
您可以将其与eager loading结合使用,以加载所选关系并根据可过滤字段进行排序。
答案 1 :(得分:0)
这可能不是您问题的100%解决方案,但我知道一个名为 - Fractal的流行软件包,它可以帮助您根据客户端请求转换数据。
您可以使用此包来处理不同的情况。希望这会对你有所帮助!