我在理解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
我知道我必须扩展eloquent类才能与数据库进行交互,但是关于实现的问题相同:我是否需要它们用于无用户表?我需要不同的吗?
感谢大家给我提供的所有帮助,如果我没有说清楚,或者你有任何疑问,还有其他你想知道的事,请不要犹豫,问我。我真的很期待对laravel中的模型进行全面的理解,然后再进一步完成我现在正在工作的项目,并且由于缺乏关于我正在使用的技术的基本概念而不是由于编程工作中常见的技术难点。学习困难只是意味着你在学习的过程中没有得到正确的方法。我几次被那只狗咬了。
答案 0 :(得分:3)
您可以使用artisan创建这样的模型:
make:auth
答案 1 :(得分:1)
如果您要创建产品型号,则不需要此项:
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教程。它将回答您的大部分问题。 Laracast https://laracasts.com/有一些非常棒的视频教程。希望这对你有所帮助。
答案 2 :(得分:0)
此外,如果您想创建模型,控制器和迁移。您可以:
# ---note: this is list-semantics item access, not dict---
placeholder = list(slide.placeholders)[-1]
php artisan将创建基本的CRUD控制器和模型,并进行迁移。所有库存依存关系也将创建。