Eloquent 入门

WBOY
Release: 2016-06-23 13:06:23
Original
1042 people have browsed it

创建一个eloquent model,这个model自动关联Article的表,

php artisan make:model Article

php artisan make:model Article                                         Model created successfully.
Copy after login

会在项目文件夹的app目录下生成这个文件

app/Article.php

需要注意的是这个model其实是会自动关联到你的数据库表的,自动将名字跟数据库的表绑定,所以名字要跟你的数据库的表要一样

使用tinker工具来创建一些测试数据

tinker命令行

php artisan tinker            Psy Shell v0.7.1 (PHP 5.5.31 — cli) by Justin Hileman>>> 
Copy after login

在里面输入

$article = new App\Article;//创建一个article实例,这里因为没有命名空间namespace的关系,需要写类的全路径,因为刚才已经知道article类文件在app根目录下$article->content='content';//因为这个article类是一个model,在laravel里面能够直接绑定数据库表,所以这个实例本身就是一个数据库对象,所以能用调用属性的方式来设置数据库表的数据>>> $article->publish_at=Carbon\Carbon::now();=> Carbon\Carbon {#633     +"date": "2016-05-14 17:55:54.000000",     +"timezone_type": 3,     +"timezone": "UTC",   }//使用一个carbon的类来设置时间,carbon的类很有名,需要安装的,可以用composer来安装,安装好后laravel就可以使用了,官网http://carbon.nesbot.com/$article->save();//使用save方法来保存这些设置好的数据库数据,在操作article实例的时候,数据只是保存在实例里面,需要save才能保存到数据库$second=App\Article::where('content','=','content')->get();=> Illuminate\Database\Eloquent\Collection {#653  //这里就是collection     all: [       App\Articles {#654         id: 1,         title: "title1",         content: "content1",         publish_at: "2016-05-14 18:04:44",         created_at: "2016-05-14 18:04:48",         updated_at: "2016-05-14 18:04:48",       },       App\Articles {#655         id: 2,         title: "title2",         content: "content2",         publish_at: "2016-05-14 18:07:38",         created_at: "2016-05-14 18:07:42",         updated_at: "2016-05-14 18:07:42",       },     ],   }get方法返回的是一个collection,是一个比数组更整洁整齐的数据集合,暂时只需要知道这是一个数据集合就行了。
Copy after login

直接使用create方法需要添加填充数据许可

>>> $article=App\Articles::create(['title'=>'second title','content'=>'second content','publish_at'=>Carbon\Carbon::now()]);Illuminate\Database\Eloquent\MassAssignmentException with message 'title'>>> //上面报错了,是因为需要有填充数据的权限//添加了许可之后重启tinker➜  blog php artisan tinkerPsy Shell v0.7.1 (PHP 5.5.31 — cli) by Justin Hileman>>> $article=App\Articles::create(['title'=>'second title','content'=>'second content','publish_at'=>Carbon\Carbon::now()]);=> App\Articles {#643     title: "second title",     content: "second content",     publish_at: Carbon\Carbon {#642       +"date": "2016-05-14 18:15:38.000000",       +"timezone_type": 3,       +"timezone": "UTC",     },     updated_at: "2016-05-14 18:15:38",     created_at: "2016-05-14 18:15:38",     id: 3,   }>>> 
Copy after login

这里需要在model里面增加填充数据许可

app/Articles.php

class Article extends Model{  protected $fillable=['title','content','publish_at'];}
Copy after login

本文由 PeterYuan 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。神一样的少年 »Eloquent 入门

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template