Code前端首页关于Code前端联系我们

创建和使用 Laravel 控制器和模型

terry 2年前 (2023-09-25) 阅读数 48 #后端开发

1。使用手动方法和artisan命令行方法创建控制器。

在laravel框架中,控制器一般放在目录:app\Controllers中。新控制器必须具有相同的类名和文件名,并且首字母必须大写。控制器中的类必须继承自app\Controllers\Controller类,然后编写自定义方法。

最后,访问路线文件中的路线设置。 Route::get('index','index@test')

手动创建控制器:

<?php

namespace App\Http\Controllers;

class Index extends Controller{
    public function test(){
        echo "hello world";
    }
}

使用 artisan 命令行创建控制器:php artisan make:controller Home

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Main extends Controller{
    //
}

laravel控制器和模型的创建和使用

2.使用手动方法并使用 artisan 命令行创建模型。

在laravel框架中,模型没有特定的位置目录。您可以在应用程序目录中创建一个新的模型目录来存储模型文件。第一个字母也必须大写。模型类必须继承自:Illuminate\Database\Eloquent\Model 类。该类包含

框架已经总结的方法,例如:数据库的增删改查操作等;继承该类后,对应的类可以直接调用父类中的方法,以减少代码量。

使用artisan命令行创建模型: PHP artisan make:model Models\Staff

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Staff extends Model
{
  //
}

使用命令行创建模型时,必须在模型文件名前面添加Models\目录,否则它将直接在应用程序目录中创建。

laravel控制器和模型的创建和使用

设置模型中的直接输出和不同控制器中的文件输出的路由。 Route::get('/staff','staff@selcet') 直接在Controllers文件夹中搜索staff文件。如果未找到匹配项,则会报告错误。

3。控制器中引用模型,通过模型方法获取数据库中的数据,并输出。

在控制器中调用模型时,必须使用use关键字来引入模型。模型中的方法可以通过依赖注入的方式在控制器类中使用,无需手动实例化该类。框架将自动实例化该类。

控制器主页代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Movies;

class Home extends Controller
{
    public function getInfo(Movies $movies){
        echo '<pre>';
        // $res = $staff->select();
        $res = $movies->select();
        print_r($res);

    }
}

模型电影代码:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Movies extends Model
{        
       //将数据库中标的字段和类的属性绑定
    protected $table = 'movies';
    protected $primaryKey = 'mov_id';
    protected $name;
    protected $image;
    protected $detail;
    protected $cate_id;

    public function select(){
        return $this->get()->toArray();
    }
}

运行结果:

laravel控制器和模型的创建和使用

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门