美文网首页
laravel 框架 关联关系

laravel 框架 关联关系

作者: 豆豆_06fa | 来源:发表于2019-02-10 11:14 被阅读0次

一、模型

1.1 创建

        php artisan make:model Order

        php artisan make:model Models\Order  带有命名空间的模型

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';  //修改时间字段值为时间戳格式

二、模型操作

获取

    多条  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();  删除所有

三、模型关系

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');

        }

    }

相关文章

网友评论

      本文标题:laravel 框架 关联关系

      本文链接:https://www.haomeiwen.com/subject/njbteqtx.html