这也有效:
$news_single = news::whereid($post_id)->first();
但这会引发错误:
$class_name = 'news';
$news_single = $class_name::whereid($post_id)->first();
错误:
PostController.php第20行中的FatalErrorException: 未找到“新闻”类
我该如何解决?
我使用变量作为类名的意图是制作动态查询(kinda)。我的意思是我得到了URL的类名,并通过它指定了正确的 Model 。像这样:
public function ShowPost(Request $request){
$post_id = $request->segment(2);
$class_name = $request->segment(1);
$post = $class_name::whereid($post_id)->first();
return view('ShowPost',compact('post'));
}
答案 0 :(得分:0)
我假设某个命名空间中有news
类。
您必须将名称空间添加到字符串中。
$class_name = 'App\\' .'news';
$news_single = $class_name::whereid($post_id)->first();