Laravel雄辩且梳理数据发送至视图

Laravel雄辩且梳理数据发送至视图,laravel,eloquent,Laravel,Eloquent,我试图找出一种方法,将两个表中的数据合并成一个变量,然后发送到视图中。我使用Authority作为身份验证包,因此设置了以下表:用户、角色、角色\用户。我想把下面的数据放到一个变量中 从用户表中: 身份证、姓名、电子邮件 从角色表中: 名字 下面返回users表中的所有用户数据: $users = User::all(); 但是,我想建立一个链,可以获取存储在roles表中的相关数据?我希望所有用户和每个用户角色都在一起 虽然我可以找到一些示例来帮助获取单个记录的相关数据,但我还没有找到任何

我试图找出一种方法,将两个表中的数据合并成一个变量,然后发送到视图中。我使用Authority作为身份验证包,因此设置了以下表:用户、角色、角色\用户。我想把下面的数据放到一个变量中

从用户表中: 身份证、姓名、电子邮件

从角色表中: 名字

下面返回users表中的所有用户数据:

$users = User::all(); 
但是,我想建立一个链,可以获取存储在roles表中的相关数据?我希望所有用户和每个用户角色都在一起

虽然我可以找到一些示例来帮助获取单个记录的相关数据,但我还没有找到任何引用来检索包含相关数据的整个表


谢谢。

我不是100%确定你想要什么,我认为你应该用雄辩的方法来处理关系。但是,如果您正在寻找一种方法来合并两个模型返回的数据,则可以执行以下操作:

$users = User::all();
$roles = Roles::all(); 

$array = array_merge($users->toArray(), $roles->toArray());
return Response::json($array);
您可以进行模型调用,以使它们返回您想要的内容,然后将它们合并在一起。如果您希望一个模型返回特定的内容,只需为其创建一个函数即可

$users = User::with('roles')->get()

您需要的是即时加载,请阅读文档:)

您需要使用类似的工具:

$user = User::get();
$roles = Roles::get();

$user .= (object) $roles; //because of that both them are object array and we have to combine them as object array...
然后您可以将数据传递给视图

return View:make('templatefile')//or Redirect to_route whatever
      ->with('user', $user);
但最好的办法是属于你。请阅读文档:


谢谢您的回复。我想做的是让所有用户都具有他们的特定角色,这样我就可以将数据发送到视图。具体地说,我使用的是bootstrapper捆绑包,它可以让您通过向其table::body($array)函数发送一个数组来轻松地创建一个表,这使得代码非常干净,实现起来非常快。谢谢。我已经试过了,但是我之前没有正确地设置模型,这是我的问题。