我有两个表,订单和图层.在我的订单表中,我在layer_id中保存了一个数组,我已将其设置为varchar.我先爆炸它然后显示记录.我想做的是显示层表中的记录,例如layer_name列中的名称.我也建立了他们的关系.我将不胜感激任何建议.
我的控制器:
public function getCheckout(){
$orders = Order::get();
return View::make('checkout')->with('orders', $orders);
}
Run Code Online (Sandbox Code Playgroud)
我的看法:
@forelse($orders as $order)
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">{{ $order->style_id }}</h3>
</div>
<div class="panel-body">
<p>Layers you chose</p>
<table class="table">
<tr>
<td>ID</td>
@foreach(explode(',', $order->layer_id) as $layer)
<td>{{ $layer }}</td>
@endforeach
</tr>
</table>
</div>
<div class="panel-footer"><button class="btn btn-primary">Confirm</button></div>
</div>
@empty
<p>Nothing to display</p>
@endforelse
Run Code Online (Sandbox Code Playgroud)
我的模特
Class Order extends Eloquent {
public function layer() {
return $this->belongsTo('Layer', 'layer_id');
}
}
Run Code Online (Sandbox Code Playgroud) 我有3张桌子; 用户,组和权限
在模型中,我在用户模型中将关系设置为belongsToMany:
public function groups() {
return $this->belongsToMany('Group');
}
Run Code Online (Sandbox Code Playgroud)
在组模型中:
public function users() {
return $this->belongsToMany('User');
}
public function permissions() {
return $this->belongsToMany('Permission');
}
Run Code Online (Sandbox Code Playgroud)
在权限模型中:
public function groups() {
return $this->belongsToMany('Group', 'id');
}
Run Code Online (Sandbox Code Playgroud)
许多用户 - 对许多组 - 许多组 - 对许多权限
我正在尝试获取用户拥有的所有权限,并且不知道它的代码应该是什么样子.有人可以帮忙吗?
我试过这个查询,但它只订购id列,休息不是.
$chapters = Test::select(DB::raw('*, max(id) as id'))
->groupBy('id_equip')
->orderBy('id', 'asc')
->get();
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Laravel 中建立一些关系,我对关系和迁移有点困惑。这是我正在做的一个简单的例子:
Users -> has_many -> Cats
Run Code Online (Sandbox Code Playgroud)
所以我的用户迁移文件与 Cats 有如下关系:
$table->foreign('cats_id')->references('id')->on('cats')
Run Code Online (Sandbox Code Playgroud)
但是当我运行迁移时,我得到:
Error: relation cats does not exist...
Run Code Online (Sandbox Code Playgroud)
我需要在用户表之前构建 Cats 表吗?
我是否还需要指定两者之间的外部关系,或者如果模型包含“hasMany”和“belongsTo”,Laravel 不会在迁移时自动建立这些关系?
我真的需要迁移吗?
我一直在努力研究如何从Eloquent中的集合中获取不同值的数量.
我一直在尝试几种方法,比如在docs上找到的unique(),values()等.即使确实存在count()方法,也没有方法来获取不同值的计数.
例如,通过应用以下查询
$technicalshighestdegrees = Capsule::table('academicinfo AS fa')
->selectRaw('DISTINCT fa.academic_id AS Id,c.name AS Degree')
->leftJoin('academics AS a','fa.academic_id','=','a.id')
->leftJoin('cat_degree AS c','fa.level','=','c.id')
->whereIn('a.type',['Technical'])
->where('a.status','!=','Retired')
->where('c.degree',true)
->orderBy('a.id')
->orderBy('c.hierarchy','desc')/*http://stackoverflow.com/a/17006377/1883256*/
->get();
Run Code Online (Sandbox Code Playgroud)
我收到这个系列:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => stdClass Object
(
[Id] => 3
[Grado] => Master
)
[1] => stdClass Object
(
[Id] => 3
[Grado] => Bachelor
)
[2] => stdClass Object
(
[Id] => 4
[Grado] => Master
)
[3] => stdClass Object
(
[Id] => 4 …Run Code Online (Sandbox Code Playgroud) 我有一个集合“事件”,它具有“站点”和“检查”的关系。
我想要做的是将“检查日期”的所有事件分组,然后在该组下按“站点”分组事件。
IE
一旦我有了这个分组,我想输出一个数组,如:
[
'title => 'Site Name: Event Name, Event Name, Event Name',
'date' => 'YYYY-MM-DD'
]
Run Code Online (Sandbox Code Playgroud)
这远远超出了我的智力,所以任何帮助将不胜感激!顺便说一句,我正在使用 Postgresql,所以我似乎只能在 ID 上使用 groupBy?
我尝试了一些使用 groupBy() 和 map() 的东西,这似乎让我有些地方但不知道如何继续:
$events = $events->groupBy('inspection.id')->map(function($item){
return $item->groupBy('site.id');
});
Run Code Online (Sandbox Code Playgroud)