如何在laravel中创建模型


How do I create a model in laravel?

我在正确理解laravel模型方面遇到了一些困难。让我们以框架提供的默认模型为例。

这是模型的全部内容:

User.php

<?php
use Illuminate'Auth'UserTrait;
use Illuminate'Auth'UserInterface;
use Illuminate'Auth'Reminders'RemindableTrait;
use Illuminate'Auth'Reminders'RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
    use UserTrait, RemindableTrait;
    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';
    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password', 'remember_token');
}

我理解{}之间发生的一切。但有些事情我完全迷失了方向:

比如,如何设置这个:

use Illuminate'Auth'UserTrait;
use Illuminate'Auth'UserInterface;
use Illuminate'Auth'Reminders'RemindableTrait;
use Illuminate'Auth'Reminders'RemindableInterface;

如果我正在创建一个模型,比如说表products而不是表users,我需要它吗?如果表是其他表而不是用户表并且不需要身份验证,那么我需要哪些use?我是否也没有正确理解身份验证?

此外,还有另一个:

class User extends Eloquent implements UserInterface, RemindableInterface

我知道我必须扩展雄辩类才能与数据库交互,但关于实现的问题是一样的:对于无用户表,我需要它们吗?我需要一个不同的吗

感谢你们能为我提供的所有帮助,如果我没有足够清楚地表明自己,或者你只是有任何疑问,或者你想从我那里知道其他事情,请不要犹豫,问我。我真的很期待在深入我现在正在工作的项目之前,对laravel中的模型有一个全面的理解,因为缺乏关于我正在使用的技术的基本概念,而不是因为编程中常见的技术困难而陷入困境。艰难的学习方式意味着你在学习时没有得到正确的方法。我被那条狗咬过好几次了。

您可以使用artisan创建这样的模型:

php artisan make:model YourNewModel

此外,如果您想创建一个模型、控制器和迁移。你可以做:

php artisan make:model YourNewModel -mcr

php-artisan将创建基本的CRUD控制器和模型,以及迁移。所有的股票依赖关系也将被创建。

如果你想创建模型,那么运行这个手工命令

php手工制作:模型YourModelName

如果要创建模型、迁移和控制器,请运行此artisan命令。

php手工制作:模型YourModelName-mcr

如果您正在创建产品模型,则不需要这个:

use Illuminate'Auth'UserTrait;
use Illuminate'Auth'UserInterface;
use Illuminate'Auth'Reminders'RemindableTrait;
use Illuminate'Auth'Reminders'RemindableInterface;

你应该使用这样的东西:

class Product extends Eloquent {
     protected $table = 'products';
     public $timestamps = false;
     protected $softDelete = false;
}

查看有关型号的此链接:http://laravel.com/docs/5.0/eloquent

我建议你做一些循序渐进的laravel教程。它将回答您的大部分问题。Laracasthttps://laracasts.com/有一些非常棒的视频教程。希望这对你有帮助。