lavavel中的ORM模型

建立模型

laravel中,一般一个模型对应一张表,可以使用artisan命令(laravel框架自带)来新建模型文件。

php artisan make:model Model\news

模型中接下要可以做以下的事情:

1、定义表名($table)

protected $table = ‘member’;

2、指定主键名($primaryKey)

protected $primaryKey = ‘mid’;

3、指定时间戳($timestamps)

默认情况下,模型操作会认为在你的数据库表有 created_at 和 updated_at

字段。如果你不希望让模型来自动维护这两个字段,可在模型内将 $timestamps

属性设置为 false。

// 时间戳 这里一定要注意它是用的public

public $timestamps = false;

4、批量赋值($fillable 与 $guarded)

当通过create方法来保存数据的时候,你需要先在你的模型上定义:

protected $fillable = [‘允许添加的字段名’];

protected $guarded = [‘拒绝添加的字段名’];

5、查询方法

table()

select()

where()

groupBy()

orderBy()

limit()

offset()

join()

leftjoin()

rightjoin()

distinct()

union()

get()

first()

count()

paginate()

$cols->appends()->links()

下面是一个完整的案例:

首先,创建一个模型,

php artisan make:model Model\news

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class news extends Model

{

    protected $table="news";

    protected $primary="id";

    public $timestamps = false;

    public function show(){

        $rs=self::get();

        return $rs;

    }

}

可以看到,这里自定义了一个方法,操作数据库。接下来创建一个控制器:php artisan make:controller index

注意要引用模型use App\Model\news;

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use App\Model\news;

class index extends Controller

{

    public function index(){

        //添加

        $stmt=new news;

        $stmt->title='hjf';

        $stmt->save();

        //修改

        $rk=news::find('90');

        $rk->title='my name is hjf';

        $rk->save();

        //删除

        $rk=news::find('90');

        $rk->title='my name is hjf';

        $rk->delete();     

        //查询

        $rs=news::orderBy('id','desc')->get();

        foreach($rs as $v){

            echo $v->id.$v->title.'
';

        };

    }

}

实例可参考:https://blog.csdn.net/createNo_1/article/details/81141336

你可能感兴趣的:(lavavel中的ORM模型)