laravel--5 Eloquent ORM("优雅的"对象关系映射)

来源:互联网 发布:淘宝钻石展位价格 编辑:程序博客网 时间:2024/05/21 17:05

一个数据表对应一个’模型’
1. 定义模型
使用php artisan make:model photoModel定义模型

    <?php        namespace App;        use Illuminate\Database\Eloquent\Model;        class Flight extends Model{            protected $table = 'my_flights';  //定义模型表名 默认规则为类名的复数形式`Flights`            protected $primaryKey = 'Fid';   // 默认主键名为id            public $timestamp = false;   // eloquoent默认created_at和updated_at已经存在于数据表中  如果不希望laravel自动管理数据列 则可以设置$timestamp            protected $connection = '';            protected $fillable = ['name']; //可以被赋值的属性            protected $guarded = ['price']; //不能被赋值的属性        }
  1. 获取模型
    可以在控制中
    use App\PhotoModel;    在方法中    PhotoModel::find();    $photoModel=new PhotoModel();    $phptoModel->find();
    $photoModel->where()->find([2,3,4]);    $photoModel->where()->count();    $photoModel->where()->max();
  1. 插入/更新数据
    $photoModel->name='pic11';    $photoModel->save();
  • 批量赋值
    在Model中设置fillable()guarded(黑名单)来确定哪些属性的值可以被赋值
    protected $fillable=['name'] protected $guarded=['price']
  • create(),firstOrCreate(),firstOrNew() 都会返回模型实例
    1. 删除数据
      $photo=PhotoModel::find(1) $photo->delete()
      通过主键删除
      PhotoModel::destroy([1,2,3])
      通过查询删除
      PhotoModel::where('name','第二张图片')->delete()
      • 软删除的使用(待研究)
        首先,数据表中必须要有delete_at字段
        use Illuminate\Database\Eloquent\SoftDeletes
原创粉丝点击