laravel使用getAttribute怎么传递参数
我想在view中获取我在modle里设置的属性
相关代码
1. model里面的代码
public function getZhAttribute($id)
{
dd($id);
dd(Tag::where(['id' => $id])->get(['name'])->pluck('name'));
return Tag::where(['id' => $id, 'del' => 1])->get('name')->pluck('name');
}
2. 我的视图中的代码
@foreach($data as $k=>$v)
<tr>
<td>
<input type="checkbox" name="allSelect[]" value="{{$v->id}}">
</td>
<td>
{{$v->sort}}
</td>
<td>
{{$v->zh}}
<td>
{{$v->resource_num}}
</td>
<td>
{{$v->page_num}}
</td>
<td>
{{$v->status}}
</td>
<td>
详情
</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-info">上架</button>
<button type="button" class="btn btn-danger">下架</button>
</div>
</td>
</tr>
@endforeach
在上面的视图代码中我使用了$v->zh想要获取我在model里面设置的模型,但是这个模型需要我传递一个ID过去,我尝试使用$v->zh[id]
$v->zh(id)
发现都是报错的
请问各位大佬们该怎在视图里面传递参数到模型里面我记得我已经写过,但是不知道怎么弄的了
几乎一样的问题,建议的解决方案是不使用访问器,而是换成方法。
php - In laravel how to pass extra data to mutators and accessors - Stack Overflow
但是,如果他们有关系,我更加建议你使用
hasMany
一对多来做,避免 N+1。