Database 通过在Laravel 5.5中组合两个以上的数据库来输出
我使用的是Laravel 5.5。我已经编码了完整的CMS和预订系统。我有三张桌子: 要约表,其中包含了所有必要的信息,为每一个单一的要约要约可以由CMS管理 用户表,其中是所有客户数据 还有一个Orders表,它有一个特定的角色,管理员可以查看谁订购了这个Orders表只有三列:id、offerid和userid->这非常重要,因为我对预订系统进行了编码,比如->当下订单时,to Orders数据库被放入offerid,它是Offers表中offer的主键,而userid列被放入number,它是Users表中用户的主键。 因此,在完成许多订单之后,订单表将只包含users表中与users主键对应的userid和offerid,offerid与Offers表中的offer主键对应 我想在一个视图中一起输出,通过列出所有订单,每一行都应该包含用户数据,通过在订单表中的用户ID在用户表中查找用户的主键,在同一行中通过在订单表中查找与offerid对应的主键查找offer来提供数据 我想通过使用eloquent在控制器函数中构建真正大的多维数组,然后将其传递给所需的视图,但我被卡住了 有没有这样做的选择,或者我的上述想法在这种情况下是非常错误的 这就是所提到的控制器功能的外观:Database 通过在Laravel 5.5中组合两个以上的数据库来输出,database,laravel,Database,Laravel,我使用的是Laravel 5.5。我已经编码了完整的CMS和预订系统。我有三张桌子: 要约表,其中包含了所有必要的信息,为每一个单一的要约要约可以由CMS管理 用户表,其中是所有客户数据 还有一个Orders表,它有一个特定的角色,管理员可以查看谁订购了这个Orders表只有三列:id、offerid和userid->这非常重要,因为我对预订系统进行了编码,比如->当下订单时,to Orders数据库被放入offerid,它是Offers表中offer的主键,而userid列被放入number,
public function index(){
$allorders=Order::all();
$bigarray=array();
foreach($allorders as $oneorder){
$bigarray[]=array(
'idorder'=>$oneorder->id,
'user'=>User::find($oneorder->userid),
'offer'=>Order::find($oneorder->offerid)
);
}
return view('desiredview...')->with('bigarray',$bigarray);
请不要认为口才是静态的错误;我承认我被困在那里了,问题是我真的不知道如何以我上面描述的方式在视图中输出订单列表。否则,如果我找不到解决方案,我会考虑将所有数据用户放在Orders表的一行中,但这是一种简单的方法,但在处理大量数据时,一段时间后会有点混乱。使用关系:
在您的订购模式中:
然后在控制器中:
public function index()
{
$allOrders=Order::all();
return view('desired.view', compact('allOrders'));
}
在您的视图中,您可以循环查看订单:
<table>
<thead>
<tr>
<th>Order Id</th>
<th>User Name</th>
<th>Offer Name</th>
</tr>
</thead>
<tbody>
@foreach($allOrders as $order)
<tr>
<td>{{$order->id}}</td>
<td>{{$order->user->name}}</td> //Here you have the corresponding User model
<td>{{$order->offer->name}}</td> //Name is just an example, use whatever you want from your model.
</tr>
@endforeach
</tbody>
</table>
在foreach循环中,您将拥有用户和报价模型,我建议您阅读关于关系的laravel文档。这很容易解释。为什么不使用雄辩:人际关系?非常感谢。真的很感激你的解决方案好一个,由这一切都解决了。祝你度过愉快的一天,多保重:U2,很高兴它起了作用:
<table>
<thead>
<tr>
<th>Order Id</th>
<th>User Name</th>
<th>Offer Name</th>
</tr>
</thead>
<tbody>
@foreach($allOrders as $order)
<tr>
<td>{{$order->id}}</td>
<td>{{$order->user->name}}</td> //Here you have the corresponding User model
<td>{{$order->offer->name}}</td> //Name is just an example, use whatever you want from your model.
</tr>
@endforeach
</tbody>
</table>