gpt4 book ai didi

php - 从 Controller 类 Laravel 访问模型方法

转载 作者:行者123 更新时间:2023-12-01 11:28:33 24 4
gpt4 key购买 nike

我是 Laravel 的新手,我在学习教程时正在尝试各种方法。这是我面临意外行为的地方。
我有一个模型 tweet和一个名为 tweetsController 的 Controller ;当我打电话时tweet::find()或我发现的任何类似方法:

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";
}
}
推文.php
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class tweet extends Model
{
protected $fillable = array(
'tweetHead',
'tweetBody'
);
}

?>

最佳答案

可能会产生此错误的几个选项:

  • 模型/ Controller 命名空间不正确;
  • 模型的文件名和类名需要是“Tweet”,首字母大写;
  • 如果您在模型“Tweet.php”上设置了正确的命名空间并将其导入到您的“TweetController.php”

  • 我希望有帮助:)

    更新:

    在 TweetController.php 中添加这个
    use App\Tweet;

    在类声明之前,像这样
    use App\Tweet;
    class tweetsController extends Controller
    {

    并记得像这样更改类声明中的 Controller 名称
    class TweetsController extends Controller
    {

    Controller 文件名将变为“TweetsController.php”

    模型还必须在类声明和文件名中命名为“Tweet”而不是“tweet”
    class tweet extends Model

    会变成
    class Tweet extends Model

    该文件将被命名为“Tweet.php”

    每次你需要调用模型时,你都会这样做
    public function show(){
    $data = App\Tweet::first()->tweetBody;
    return view('tweets.list',['passedData'=> $data]);
    }

    关于php - 从 Controller 类 Laravel 访问模型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35163797/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com