Laravel 版本是 7.0:我已经设置了这样的模型关系。<?phpnamespace App;class Template extends Model{ protected $fillable = ['header_id', 'content', 'name']; public function header() { return $this->belongsTo('App\Header', 'header_id'); }}在控制器中,我可以获取带有标题的模板对象。<?phpnamespace App\Http\Controllers;use App\Template;class TemplateController extends Controller{ public function show($id) { $template = Template::find($id); }}现在我可以$template->header在视图中使用了。如何传递不同的 header_id 并获取标头关系对象?我想这样做:<?phpnamespace App\Http\Controllers;use App\Template;class TemplateController extends Controller{ public function show($id, $temp_header_id) { $template = Template::find($id); $template->header_id = $temp_header_id; }}我想在视图中获得新的标题关系:当我在视图中执行操作时,有什么方法可以返回新的标头关系$template->header。谢谢
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
是的,您可以做您想做的事情,但有点破坏数据库中的关系。您可以分配任何 id $template->header_id,然后使用该新值加载关系:
$template->header_id = 897;
// load the relationship, will use the new value
// just in case the relationship was already loaded we make sure
// to load it again, since we have a different value for the key
$template->load('header');
$template->header; // should be header with id = 897
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消