美文网首页
lavavel中的ORM模型

lavavel中的ORM模型

作者: 豆豆_06fa | 来源:发表于2019-02-18 21:22 被阅读0次

    建立模型

    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

    <?php

    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;

    <?php

    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.'<br>';

            };

        }

    }

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

    相关文章

      网友评论

          本文标题:lavavel中的ORM模型

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