laravel 5.2 - 控制器方法中的访问模型

时间:2016-02-07 04:00:57

标签: laravel eloquent

我在PostController类的标题中添加了行use App\Post;

当我在控制器方法中尝试$post = new App\Post;时,我收到以下错误消息

Class 'App\Http\Controllers\App\Post' not found

为什么我收到此错误消息有哪些可能性?

4 个答案:

答案 0 :(得分:2)

由于您已经包含了Post类,因此您不必再次引用该路径。

$post = new Post();

这应该有用。

答案 1 :(得分:0)

你可以使用外墙..

0

答案 2 :(得分:0)

我假设您使用工匠来生成模型。您可以使用eloquent as:

class Template_Expect(object):
    def __init__(self, template, a):
        self.template = template
        self.a = a

    def to_be_in(self, b):
        b = self.template.content[b]
        return self.a in b

    def to_be(self, b):
        a = self.template.content[b]
        return a == b

class Template(object):
    def __init__(self, path):
        self.content = json.load(open(path, 'r'))

    def expect(self, a):
        return Template_Expect(self, a)

答案 3 :(得分:0)

您无法通过vid = skvideo.io.vreader(vid_path) for frame in vid: # Do something 访问模型的原因是因为您尝试执行此操作的文件已经具有命名空间,如错误中所示:App\Post,这意味着命名空间该文件是App\Http\Controllers\App\Post

由于您没有使用绝对命名空间(App\Http\Controllers开头)引用该模型,因此PHP正在寻找相对于当前命名空间的该类。

\

这解释了错误。但是,正如其他人所述,您已经<?php namespace App\Http\Controllers; ... $post = App\Post::find(1); // App\Http\Controllers\App\Post $post = \App\Post::find(1); // App\Post 了文件中的模型,只需使用use即可访问该模型。

Post