我有两个表behavioralmain
和behavioralsub
,其中behavioralsub是行为域的chils表。显然,behavioralsub有parent_id,它对应于行为域的id。我试图使用此代码加入这两个表。
behavioralmain Table
ID | category_name | actual weight | weight
1 commitment 0 7
2 category 0 5
behavioralsub Table
ID | category_name | parent_id | weight
1 administer 1 7
2 president 1 5
3 secretary 2 7
4 mixture 2 5
behavioralmain.model
/**
* The database table used by the model.
*
* @var string
*/
public $timestamps=false;
protected $table = 'behavioralmain';
public function behavioralsub()
{
return $this->hasMany('BehavioralSub','id','parent_id');
}
}
behavoiralsub.model
<?php
class BehavioralSub extends Eloquent {
/**
* The database table used by the model.
*
* @var string
*/
public $timestamps=false;
protected $table = 'behavioralsub';
protected $fillable=array('id','survey_question','weight');
public function parenting() {
return $this->belongsTo('behavioralmain','id','parent_id');
}
}
BehavoiralSubController.php
public function index()
{
return View::make('behavioralsub.index')->with('sub',BehavioralSub::get())->with('sub',BehavioralMcain::with(array('behavioralsub'))->get());
}
Index.blade.php
<tbody>
@foreach($sub as $sub)
<tr>
<td>{{{$sub->category_name}}}</td>
<td>{{{$sub->survey_question}}}</td>
<td>{{{$sub->weight}}}</td>
<td><a href="{{{route('behavioralsub.edit',$sub->id)}}}"><i class="fa fa-edit"></i>Edit</a>
</td>
<td>
<a href="{{{route('behavioralsub.destroy',$sub->id)}}}"><i class="glyphicon glyphicon-trash"></i>Delete</a>
</td>
</tr>
@endforeach
</tbody>
在上面的代码中,我认为它可以得到我想要什么,但伤心地说,在观察侧只显示是这样而已;这个父表,而子表没有检索,
category
,commitment
。
我需要的输出是这样的。
commitment
-administer
-president
category
-secretary
-mixture
请该怎么做。我已经尝试了一切,但没有发生任何事情
答案 0 :(得分:0)
试试这个:
behavioralsub model:
public function parenting() {
return $this->belongsTo('BehavioralMain', 'parent_id', 'ID');
}
行为主体模型
public function behavioralsub() {
return $this->hasMany('BehavioralSub', 'parent_id', 'ID');
}
将数据传递给View的方式在所有错误的位置都有右括号,似乎是链接错误对象的方法。尝试将其更改为:
public function index() {
return View::make('behavioralsub.index')->with(array('main' => BehavioralMcain::with('behavioralsub')->get());
}
这将使您的观点:
<tbody>
@foreach($main->behavioralsub as $sub)
<tr>
<td>{{{$sub->category_name}}}</td>
<td>{{{$sub->survey_question}}}</td>
<td>{{{$sub->weight}}}</td>
<td>
<a href="{{{route('behavioralsub.edit',$sub->id)}}}"><i class="fa fa-edit"></i>Edit</a>
</td>
<td>
<a href="{{{route('behavioralsub.destroy',$sub->id)}}}"><i class="glyphicon glyphicon-trash"></i>Delete</a>
</td>
</tr>
@endforeach
</tbody>