Pra*_*ngh 4 php laravel laravel-5
我是 Laravel 的新手,我在学习教程时正在尝试各种方法。这是我面临意外行为的地方。
我有一个模型tweet和一个名为tweetsController; 当我打电话tweet::find()或任何类似的方法时,我发现了这一点:
Run Code Online (Sandbox Code Playgroud)FatalErrorException in tweetsController.php line 13: Class 'App\Http\Controllers\tweet' not found
我也试过了App\tweet::find()。通过修补程序,一切似乎都很好。
请解释。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class tweetsController extends Controller
{
public function show(){
$data = tweet::first()->tweetBody;
return view('tweets.list',['passedData'=> $data]);
}
public function delete($id){
return "here we dele the tweet ".$id;
}
public function add(){
return "i add your tweet to database then show you all the tweets";
}
}
Run Code Online (Sandbox Code Playgroud)
推文.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class tweet extends Model
{
protected $fillable = array(
'tweetHead',
'tweetBody'
);
}
?>
Run Code Online (Sandbox Code Playgroud)
可能会产生此错误的几个选项:
我希望有帮助:)
更新:
在 TweetController.php 中添加这个
use App\Tweet;
Run Code Online (Sandbox Code Playgroud)
在类声明之前,像这样
use App\Tweet;
class tweetsController extends Controller
{
Run Code Online (Sandbox Code Playgroud)
并记得像这样更改类声明中的控制器名称
class TweetsController extends Controller
{
Run Code Online (Sandbox Code Playgroud)
控制器文件名将变为“TweetsController.php”
模型还必须在类声明和文件名中命名为“Tweet”而不是“tweet”
class tweet extends Model
Run Code Online (Sandbox Code Playgroud)
会变成
class Tweet extends Model
Run Code Online (Sandbox Code Playgroud)
该文件将被命名为“Tweet.php”
每次你需要调用模型时,你都会这样做
public function show(){
$data = App\Tweet::first()->tweetBody;
return view('tweets.list',['passedData'=> $data]);
}
Run Code Online (Sandbox Code Playgroud)