ホームページ  >  記事  >  バックエンド開発  >  Eloquent の使用を開始する

Eloquent の使用を開始する

WBOY
WBOYオリジナル
2016-06-23 13:06:231043ブラウズ

Article テーブルに自動的に関連付けられる雄弁なモデルを作成します。

php 職人 make:model Article

php artisan make:model Article                                         Model created successfully.

は、このファイルをプロジェクト フォルダーのアプリ ディレクトリに生成します

app/Article.php

このモデルは実際にはデータベース テーブルに自動的に関連付けられ、名前がデータベース テーブルに自動的にバインドされるため、名前はデータベース テーブルと同じである必要があることに注意してください

ティンカー ツールを使用してテスト データを作成します

tinker コマンドライン

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

Enter

$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,是一个比数组更整洁整齐的数据集合,暂时只需要知道这是一个数据集合就行了。

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,   }>>> 

ここでは、モデルに塗りつぶしデータ権限を追加する必要があります

app/Articles.php

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

この記事はPeterYuan によって作成され、表示 - 非営利 2.5 中国本土に基づいてライセンスされています。 転載または引用する前に、著者に連絡し、著者名に署名し、記事の出典を示す必要があります。神のような少年 »Eloquent の入門

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。