Laravel Eloquent

belongTo(‘’,从键,主键); hasMany(‘’,从键,主键);

1 命令行

  1. 创建Model

    都是生成Model和数据库文件

     php artisan make:model Examples --migration
     or
     php artisan make:model Examples -m
    

1 Model需要添加关联行到返回数据中

例如,要返回一个学生的数据和它所在的班级

//Student_Model

public $appends = ['class_name'];

public function class(){
    return $this->belongsTo('App\Models\Class_Model','class_id','id');
}

//方法名为 appends数组中的驼峰写法前加get后加Attribute.
 public function getClassNameAttribute(){
    return $this->class->name ;
}

//但是他会给你多返回一个class类的全部数据,需要隐藏掉
protected $hidden = ['class'];

1 疑问点.

  1. save方法返回的是true/false;但是delete返回的是1/0,下面是API查的..奇怪…

     bool|null delete()
    
     Delete the model from the database.
    
     Return Value
    
     bool|null   
     Exceptions
    
     Exception
    

命令行爽Eloquent

cd 项目跟目录
php artisan tinker

这样爽的好处?可以看到返回的类型和执行sql

App\Models\Ready_Sample_Model::all();
select * from `ready_samples`
=> Illuminate\Database\Eloquent\Collection {#895
 all: [
   App\Models\Ready_Sample_Model {#896
     id: 2646,
     ....

Model排序

Ready_Sample_Model::all()->sortByDesc('updated_at')
Ready_Sample_Model::all()->sort('updated_at')

很详细的各种关系的CRUD,强力推荐http://blog.ja168.net/laravel-eloquent-orm-guide-902.html

php

Comments