laravel 模型

1、模型文件创建

1.1 创建
        php artisan make:model Order 
        php artisan make:model Models/Backend/Users   带有命名空间的模型
1.2 限定      
        1. 数据表名称限定
            模型所对应的默认的表名是在模型后面加s, 如果模型名称后面有s,则表名跟模型名称同名.
            eg:
                  Order   =>  orders
                  Goods   =>  goods
                  country => countries
            设置
                // 设置模型操作的表名
                public $table = 'users';       

        2. 主键限定
                 主键的字段名称 id
                 public $primaryKey = 'uid';

        3. 时间字段限定
                public $timestamps = false;     //不验证时间字段
                protected $dateFormat = 'U';   //修改时间字段值为时间戳格式

2、模型操作

获取
    多条  Order::all()
    单条  Order::find(id)

添加
    $order = new Order;
    $order -> name = '';
    $order -> age = '';
    $order -> save()

修改
    $order = Order::find(10);
    $order -> name = '';
    $order -> age = '';
    $order -> save()

删除
  方法一:
      $user = Orders::find(99); 
      $user -> delete();
  方法二:
    App\Flight::destroy(1);
    App\Flight::destroy([1, 2, 3]);
    App\Flight::destroy(1, 2, 3);    
软删除

    1. 导入软删除类
        use Illuminate\Database\Eloquent\SoftDeletes;
        class Goods extends Model
        {
            //
            use SoftDeletes;
        }   

    2. 获取被删除模型
        onlyTrashed 方法会 只 获取已被软删除的模型:

        Order::onlyTrashed()->where('airline_id', 1)->get();   获取指定
        Order::onlyTrashed()->get();        获取所有

    3. 你也可以在查找上使用 restore 方法来快速地恢复多个模型:

        Order::withTrashed()->where('airline_id', 1)->restore();   恢复指定
        Order::withTrashed()->restore();        恢复所有
    4. 永久删除

        Order::where()->forceDelete(); 删除指定
        Order::forceDelete();   删除所有

3、模型关系

 class User extends Model
    {
        //一对一
        public function userinfo()
        {
            return $this->hasOne('App\Userinfo','user_id');
        }

        //属于
        public function country()
        {
            return $this->belongsTo('App\Country','country_id');
        }

        //一对多
        public function post()
        {
            return $this->hasMany('App\Post','user_id');
        }

        //多对多
        public function group()
        {
            return $this->belongsToMany('App\Group','group_user','user_id','group_id');
        }
    }

猜你喜欢

转载自blog.csdn.net/u012160319/article/details/83416867
今日推荐