Laravel 5 入门系列——5

本文介绍了Laravel 5中如何创建和使用模型,包括模型的命名空间调整、Eloquent ORM的使用,以及RESTful API的实现。讲解了如何通过make:model命令创建模型,并设置填充字段和隐藏字段。此外,还详细阐述了如何通过resource路由创建RESTful接口,并展示了向视图传递变量的三种方法:with()、直接传参和compact()。
摘要由CSDN通过智能技术生成

向Larvel 5进军5


初涉模型(Models)

laravel默认生成了一个User.php模型,路径是App/User.php
更好的体会MVC的含义,在App目录下新建一个目录Models,把User.php 移到
App/Models/User.php,再使用全局替换:把项目newproject下的所有的App\User替换成App\Models\User.以上操作在phpstorm中是这么实现的:
这里写图片描述
在newproject目录上右键选择Replace in Path,然后替换即可,这里是解决名字空间引用的问题。


创建模型

  • 如果我们要自己手动创建一个模型文件,最简单的方式是通过 make:model 来创建。需要注意的一点是,模型类名称使用 单数 形式来命名:php artisan make:model SampleModel
  • 如果生成模型的时候同时创建迁移文件,使用-m 选项即可
    php artisan make:model SampleModel -m
  • 如果不加命名空间,默认创建的模型文件会在App目录下,因此最佳实践应该指定命名空间:
    php artisan make:model Models/SampleModel -m此命令会将模型文件创建在App/Models下并生成迁移文件.

为了理解模型文件的基本内容,先看一下laravel自动生成的User.php模型文件:

<?php

namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

可以看到,把Illuminate\Foundation\Auth\User作为Authenticatable引用后,User模型中的User类是基于Authenticatable生成的一个新类,这样User模型就自动具备了laravel自带的一些权限功能。Notifiable是消息提醒类,暂时不用管。可以看到,User类中有个属性,理解一下:$fillabel 是为了防止注入攻击,比如有的用户可能在表单中注入了一些别的信息更改数据库中的其他内容,因此我们要定义哪些数据是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值