对于想了解laravelEloquent模型多对多的读者,本文将是一篇不可错过的文章,我们将详细介绍laravel多模块,并且为您提供关于14.Laravel4Eloquent模型对象关系、Larav
对于想了解laravel Eloquent 模型 多对多的读者,本文将是一篇不可错过的文章,我们将详细介绍laravel多模块,并且为您提供关于14. Laravel 4 Eloquent 模型对象关系、Laravel 5框架学习之Eloquent 关系,laraveleloquent、Laravel 5框架学习之Eloquent 关系,laraveleloquent_PHP教程、Laravel 5框架学习之Eloquent (laravel 的ORM),laraveleloquent的有价值信息。
本文目录一览:- laravel Eloquent 模型 多对多(laravel多模块)
- 14. Laravel 4 Eloquent 模型对象关系
- Laravel 5框架学习之Eloquent 关系,laraveleloquent
- Laravel 5框架学习之Eloquent 关系,laraveleloquent_PHP教程
- Laravel 5框架学习之Eloquent (laravel 的ORM),laraveleloquent
laravel Eloquent 模型 多对多(laravel多模块)
需要使用三个数据表:users、roles 和 role_user。role_user 表命名是以相关联的两个模型数据表来依照字母顺序命名,并包含了 user_id 和 role_id 字段。
多对多关联通过编写一个在自身 Eloquent 类调用的 belongsToMany 的方法来定义。举个例子,让我们在 User 模型中定义 roles 方法:
<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 属于该用户的身份。
*/
public function roles()
{
return $this->belongsToMany('App\Role');
}
}
一旦关联被定义,则可以使用 roles 动态属性来访问用户的身份:
$user = App\User::find(1);
foreach ($user->roles as $role) {
//
}
定义相对的关联
要定义相对于多对多的关联,只需简单的放置另一个名为 belongsToMany 的方法到你关联的模型上。让我们接着以用户身份为例,在 Role 模型中定义 users 方法:
<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
/**
* 属于该身份的用户。
*/
public function users()
{
return $this->belongsToMany('App\User');
}
}
如你所见,此定义除了简单的参考 App\User 模型外,与 User 的对应完全相同。因为我们重复使用了 belongsToMany 方法,当定义相对于多对多的关联时,所有常用的自定义数据表与键的选项都是可用的。
获取中间表字段
正如你所知,要操作多对多关联需要一个中间数据表。Eloquent 提供了一些有用的方法来和这张表进行交互。例如,假设 User 对象关联到很多的 Role 对象。访问这些关联对象时,我们可以在模型中使用 pivot 属性来访问中间数据表的数据:
$user = App\User::find(1);
foreach ($user->roles as $role) {
echo $role->pivot->created_at;
}
文章来自 www.96net.com.cn
14. Laravel 4 Eloquent 模型对象关系
一对一
定义一对一关系(hasOne)
class User extends Eloquent {
public function phone()
{ // 传递给 hasOne 函数的第一个参数是相关模型的名字
return $this->hasOne(''Phone'');
}
}
动态属性调用
$phone = User::find(1)->phone;
这条语句所产生的 SQL 语句如下:
select * from users where id = 1
select * from phones where user_id = 1
注意 Eloquent 假设关系的外键基于模型的名字。在这个例子中假设 Phone
模型使用一个 user_id
外键。
自定义外键
return $this->hasOne(''Phone'', ''custom_key'');
定义逆向关系(belongsTo)
class Phone extends Eloquent {
public function user()
{
return $this->belongsTo(''User'');
}
}
在上面的例子中,Eloquent 将在 phones 表中寻找 user_id 字段。如果您想定义一个不同的外键字段,您可以通过 belongsTo 函数的第二个参数传递它:
return $this->belongsTo(''User'', ''custom_key'');
一对多
定义一对多关系(hasMany)
class Post extends Eloquent {
public function comments()
{
return $this->hasMany(''Comment'');
}
}
动态属性调用
$comments = Post::find(1)->comments;
动态属性调用,增加约束条件
$comments = Post::find(1)->comments()->where(''title'', ''='', ''foo'')->first();
自定义外键
return $this->hasMany(''Comment'', ''custom_key'');
定义逆向关系(belongsTo)
class Comment extends Eloquent {
public function post()
{
return $this->belongsTo(''Post'');
}
}
多对多
定义多对多关系(belongsToMany)
class User extends Eloquent {
public function roles()
{
return $this->belongsToMany(''Role'');
}
}
注意:需要中间关系表,本例中为 role_user
并且有 user_id
和 role_id
字段。
自定义外键及关系表
return $this->belongsToMany(''Role'', ''user_roles'', ''user_id'', ''foo_id'');
定义逆向关系(belongsToMany)
class Role extends Eloquent {
public function users()
{
return $this->belongsToMany(''User'');
}
}
多态关系
定义多态关系(morphTo|morphMany)
class Photo extends Eloquent {
public function imageable()
{
return $this->morphTo();
}
}
class Staff extends Eloquent {
public function photos()
{
return $this->morphMany(''Photo'', ''imageable'');
}
}
class Order extends Eloquent {
public function photos()
{
return $this->morphMany(''Photo'', ''imageable'');
}
}
获取多态关系
$staff = Staff::find(1);
foreach ($staff->photos as $photo) { }
获取多态关系的属主
$photo = Photo::find(1);
$imageable = $photo->imageable;
多态关系的数据库结构
staff
id - integer
name - string
orders
id - integer
price - integer
photos
id - integer
path - string
imageable_id - integer // 所属模型 ID
imageable_type - string // 所属模型
查询关系(has)
// 获取至少有1条评论的文章
$posts = Post::has(''comments'')->get();
// 获取至少有3条评论的文章
$posts = Post::has(''comments'', ''>='', 3)->get();
预加载(with)
foreach (Book::with(''author'')->get() as $book)
{
echo $book->author->name;
}
在上面的循环中,只有两个查询被执行:
select * from books
select * from authors where id in (1, 2, 3, 4, 5, ...)
预加载多个关系
$books = Book::with(''author'', ''publisher'')->get();
预加载嵌套关系
$books = Book::with(''author.contacts'')->get();
指定条件的预加载
$users = User::with(array(''posts'' => function($query)
{
$query->where(''title'', ''like'', ''%first%'');
}))->get();
延迟预加载(load)对已在使用中的模型进行预加载
$books = Book::all();
$books->load(''author'', ''publisher'');
向相关模型插入数据
从父模型向子模型插入数据
// 注意:下面这种实例化时直接赋值的方法,需要开启集体赋值
$comment = new Comment(array(''message'' => ''A new comment.''));
$post = Post::find(1);
$comment = $post->comments()->save($comment);
在这个例子中,所插入评论的 post_id 字段将自动设置。
为方便理解,上面的第一行相当于:
$comment = new Comment;
$comment->message = ''A new comment.'';
// 或者
$comment = with(new Comment)->push(array(''message'' => ''A new comment.''));
从子模型向父模型插入数据
$comment = new Comment(array(''message'' => ''A new comment.''));
$post = Post::find(1);
$comment = $comment->post()->associate($post)->save();
向中间表插入数据,多对多关系时的插入方法
增加多对多关系(attach)向中间表增加关系数据(会产生重复数据)
$user = User::find(1);
$user->roles()->attach(1); // 指定 role_id 为1
同时向中间表插入其它字段的值:
$user->roles()->attach(1, array(''describe'' => ''关系描述''));
删除多对多关系(detach)删除中间表指定关系数据
$user->roles()->detach(1);
同步多对多关系(sync)向中间表增加关系数据(不会产生重复数据)
// 只有数组中的 IDs 将会存在关系表中,其它关系将被剔除
$user->roles()->sync(array(1, 2, 3));
同时向中间表插入其它字段的值:
$user->roles()->sync(array(1 => array(''describe'' => ''关系描述'')));
中间表自动关联数据(通过关联 save 数据)
$role = new Role(array(''name'' => ''Editor''));
User::find(1)->roles()->save($role);
同时向中间表插入其它字段的值:
User::find(1)->roles()->save($role, array(''describe'' => ''关系描述''));
触发父模型 updated_at 时间戳(protected $touches)
class Comment extends Eloquent {
// 子模型中指定更新时需要触发的父模型
protected $touches = array(''post'');
public function post()
{
return $this->belongsTo(''Post'');
}
}
与中间表交互(pivot)数据透视表对象
在数据子集中访问数据透视对象
$user = User::find(1);
foreach ($user->roles as $role)
{
echo $role->pivot->created_at;
}
让数据透视对象包含关联外键以外的其它字段
需要在定义多对多关系时完成:
return $this->belongsToMany(''Role'')->withPivot(''foo'', ''bar'');
让数据透视对象自动维护 created_at 和 updated_at 时间戳
需要在定义多对多关系时完成:
return $this->belongsToMany(''Role'')->withTimestamps();
Laravel 5框架学习之Eloquent 关系,laraveleloquent
laravel 5框架学习之eloquent 关系,laraveleloquent
一个用户可能有多个文章,一个文章是某个用户书写的,这就是关系。同样文章中可能包含多个 tag,而一个 tag 可能关联多个文章。
在项目中,我们已经有了 User.php,也就是用户模型,查看一下,相当简单。我们希望直接使用 $user->articles() 的形式获取全部文章,让我们修改 user 模型:
public function articles() { return $this->hasMany(''App\Article''); }
但是我们仅仅完成了关系中的一端,让我们来处理另一端。我们希望的形式是 $article->user() ,让我们修改 article 模型。
public function user() { return $this->belongsTo(''App\User''); }
在我们的数据库中,文章模型没有用户的外键,我们需要设置,修改 create_article_table.php
Schema::create(''articles'', function(Blueprint $table) { $table->increments(''id''); //指定外键列 $table->integer(''user_id'')->unsigned(); $table->string(''title''); $table->text(''body''); $table->timestamp(''published_at''); $table->timestamps(); //生成外键 $table->foreign(''user_id'') ->references(''id'') ->on(''users'') ->onDelete(''cascade''); });
因为我们只是在开发阶段,还没有上线运行,我们可以直接修改数据库迁移文件,回滚然后迁移即可,但是如果上线运行的话,应该新建一个迁移。
php artisan migrate:refresh #输出信息 Rolled back: 2015_03_28_050138_create_article_table Rolled back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_000000_create_users_table Nothing to rollback. Migrated: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_100000_create_password_resets_table Migrated: 2015_03_28_050138_create_article_table Migrated: 2015_03_28_051200_add_excerpt_to_articels_table
现在让我们使用 tinker 来创建一个用户。
php artisan tinker Psy Shell v0.4.1 (PHP 5.4.16 — cli) by Justin Hileman #下面是执行过程 >>> $user = new App\User; => <App\User #000000007f1ad61a000000006497cc4f> {} >>> $user->name = ''zhang jinglin''; => "zhang jinglin" >>> $user->email = ''zjl@example.com''; => "zjl@example.com" >>> $user->password = bcrypt(''pass''); => "$2y$10$Nbl2b9wqd.rXqKEsd3pRSOoIyFAFIhbqf71BufwDfS3Guv21SlEx2" >>> $user->save(); => true >>> App\User::first()->toArray(); => [ "id" => "1", "name" => "zhang jinglin", "email" => "zjl@example.com", "created_at" => "2015-03-31 03:24:55", "updated_at" => "2015-03-31 03:24:55" ] >>>
现在我们需要新发布的文章和用户关联,我们暂时先修改 form_partial.blade.php 来隐藏一个用户id,只是暂时:
复制代码 代码如下:
{{--临时处理--}}
{!! Form::hidden(''user_id'', 1) !!}
同时要修改模型的 $fillabel 属性,以便我们的 Mass Assisment。
protected $fillable = [ ''title'', ''body'', ''published_at'', ''user_id'' //临时设置 ];
OK,添加一个文章。我们使用 tinker 来查看一下。
php artisan tinker Psy Shell v0.4.1 (PHP 5.4.16 — cli) by Justin Hileman >>> App\Article::first()->toArray(); => [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] #获取用户 >>> $user = App\User::first(); => <App\User #0000000051cbb9d70000000073e11a3e> { id: "1", name: "zhang jinglin", email: "zjl@example.com", created_at: "2015-03-31 03:24:55", updated_at: "2015-03-31 03:24:55" } #获取用户文章 >>> $user->articles()->toArray(); BadMethodCallException with message ''Call to undefined method Illuminate\Database\Query\Builder::toArray()'' >>> $user->articles->toArray(); => [ [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] ] #为什么使用 $user->articles 而不是 #user->articles()? #事实上,$user->articles()返回的是关系,如果你想用 articles() 你需要这样用 >>> $user->articles()->get()->toArray(); => [ [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] ] #你只能使用 articles() 来进行下一步的工作,比如下面的查询 $user->articles()->where(''title'', ''User 1 Article'')->get(); #我们也可以通过 article 获取 user >>> $article = App\Article::first(); => <App\Article #0000000051cbb9d60000000073e11a3e> { id: "1", user_id: "1", title: "User 1 Article", body: "User 1 Body", published_at: "2015-03-31 08:00:00", created_at: "2015-03-31 04:17:58", updated_at: "2015-03-31 04:17:58", excerpt: null } >>> $article->user; => <App\User #0000000051cbb92d0000000073e11a3e> { id: "1", name: "zhang jinglin", email: "zjl@example.com", created_at: "2015-03-31 03:24:55", updated_at: "2015-03-31 03:24:55" } >>>
以上所述就是本文的全部内容了,希望大家能够喜欢。
Laravel 5框架学习之Eloquent 关系,laraveleloquent_PHP教程
laravel 5框架学习之eloquent 关系,laraveleloquent
一个用户可能有多个文章,一个文章是某个用户书写的,这就是关系。同样文章中可能包含多个 tag,而一个 tag 可能关联多个文章。
在项目中,我们已经有了 User.php,也就是用户模型,查看一下,相当简单。我们希望直接使用 $user->articles() 的形式获取全部文章,让我们修改 user 模型:
public function articles() { return $this->hasMany(''App\Article''); }
但是我们仅仅完成了关系中的一端,让我们来处理另一端。我们希望的形式是 $article->user() ,让我们修改 article 模型。
public function user() { return $this->belongsTo(''App\User''); }
在我们的数据库中,文章模型没有用户的外键,我们需要设置,修改 create_article_table.php
Schema::create(''articles'', function(Blueprint $table) { $table->increments(''id''); //指定外键列 $table->integer(''user_id'')->unsigned(); $table->string(''title''); $table->text(''body''); $table->timestamp(''published_at''); $table->timestamps(); //生成外键 $table->foreign(''user_id'') ->references(''id'') ->on(''users'') ->onDelete(''cascade''); });
因为我们只是在开发阶段,还没有上线运行,我们可以直接修改数据库迁移文件,回滚然后迁移即可,但是如果上线运行的话,应该新建一个迁移。
立即学习“PHP免费学习笔记(深入)”;
php artisan migrate:refresh #输出信息 Rolled back: 2015_03_28_050138_create_article_table Rolled back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_000000_create_users_table Nothing to rollback. Migrated: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_100000_create_password_resets_table Migrated: 2015_03_28_050138_create_article_table Migrated: 2015_03_28_051200_add_excerpt_to_articels_table
现在让我们使用 tinker 来创建一个用户。
php artisan tinker Psy Shell v0.4.1 (PHP 5.4.16 — cli) by Justin Hileman #下面是执行过程 >>> $user = new App\User; => <App\User #000000007f1ad61a000000006497cc4f> {} >>> $user->name = ''zhang jinglin''; => "zhang jinglin" >>> $user->email = ''zjl@example.com''; => "zjl@example.com" >>> $user->password = bcrypt(''pass''); => "$2y$10$Nbl2b9wqd.rXqKEsd3pRSOoIyFAFIhbqf71BufwDfS3Guv21SlEx2" >>> $user->save(); => true >>> App\User::first()->toArray(); => [ "id" => "1", "name" => "zhang jinglin", "email" => "zjl@example.com", "created_at" => "2015-03-31 03:24:55", "updated_at" => "2015-03-31 03:24:55" ] >>>
现在我们需要新发布的文章和用户关联,我们暂时先修改 form_partial.blade.php 来隐藏一个用户id,只是暂时:
复制代码 代码如下:
{{--临时处理--}}
{!! Form::hidden(''user_id'', 1) !!}
同时要修改模型的 $fillabel 属性,以便我们的 Mass Assisment。
protected $fillable = [ ''title'', ''body'', ''published_at'', ''user_id'' //临时设置 ];
OK,添加一个文章。我们使用 tinker 来查看一下。
php artisan tinker Psy Shell v0.4.1 (PHP 5.4.16 — cli) by Justin Hileman >>> App\Article::first()->toArray(); => [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] #获取用户 >>> $user = App\User::first(); => <App\User #0000000051cbb9d70000000073e11a3e> { id: "1", name: "zhang jinglin", email: "zjl@example.com", created_at: "2015-03-31 03:24:55", updated_at: "2015-03-31 03:24:55" } #获取用户文章 >>> $user->articles()->toArray(); BadMethodCallException with message ''Call to undefined method Illuminate\Database\Query\Builder::toArray()'' >>> $user->articles->toArray(); => [ [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] ] #为什么使用 $user->articles 而不是 #user->articles()? #事实上,$user->articles()返回的是关系,如果你想用 articles() 你需要这样用 >>> $user->articles()->get()->toArray(); => [ [ "id" => "1", "user_id" => "1", "title" => "User 1 Article", "body" => "User 1 Body", "published_at" => "2015-03-31 08:00:00", "created_at" => "2015-03-31 04:17:58", "updated_at" => "2015-03-31 04:17:58", "excerpt" => null ] ] #你只能使用 articles() 来进行下一步的工作,比如下面的查询 $user->articles()->where(''title'', ''User 1 Article'')->get(); #我们也可以通过 article 获取 user >>> $article = App\Article::first(); => <App\Article #0000000051cbb9d60000000073e11a3e> { id: "1", user_id: "1", title: "User 1 Article", body: "User 1 Body", published_at: "2015-03-31 08:00:00", created_at: "2015-03-31 04:17:58", updated_at: "2015-03-31 04:17:58", excerpt: null } >>> $article->user; => <App\User #0000000051cbb92d0000000073e11a3e> { id: "1", name: "zhang jinglin", email: "zjl@example.com", created_at: "2015-03-31 03:24:55", updated_at: "2015-03-31 03:24:55" } >>>
以上所述就是本文的全部内容了,希望大家能够喜欢。
Laravel 5框架学习之Eloquent (laravel 的ORM),laraveleloquent
laravel 5框架学习之eloquent (laravel 的orm),laraveleloquent
我们来生成第一个模型
复制代码 代码如下:
php artisan make:model Article
#输出
Model created successfully.
Created Migration: 2015_03_28_062517_create_articles_table
查看一下生成的文件 app/Article.php
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Article extends Model { // }
没什么特别的,除了继承自 Model 以外,但是具有强大的功能,这些都封装在laravel的Model中。模型自动具有了 save() update() findXXX() 等强大的功能。
tinker 是 laravel提供的命令行工具,可以和项目进行交互。
php artisan tinker #以下是在tinker中的交互输入 Psy Shell v0.4.1 (PHP 5.4.16 — cli) by Justin Hileman >>> $name = ''zhang jinglin''; => "zhang jinglin" >>> $name => "zhang jinglin" >>> $article = new App\Article; => <App\Article #000000005c4b7ee400000000ab91a676> {} >>> $article->title = ''My First Article''; => "My First Article" >>> $article->body = ''Some content...''; => "Some content..." >>> $article->published_at = Carbon\Carbon::now(); => <Carbon\Carbon #000000005c4b7ee600000000ab91dcb6> { date: "2015-03-28 06:37:22", timezone_type: 3, timezone: "UTC" } >>> $article; => <App\Article #000000005c4b7ee400000000ab91a676> { title: "My First Article", body: "Some content...", published_at: <Carbon\Carbon #000000005c4b7ee600000000ab91dcb6> { date: "2015-03-28 06:37:22", timezone_type: 3, timezone: "UTC" } } >>> $article->toArray(); => [ "title" => "My First Article", "body" => "Some content...", "published_at" => <Carbon\Carbon #000000005c4b7ee600000000ab91dcb6> { date: "2015-03-28 06:37:22", timezone_type: 3, timezone: "UTC" } ] >>> $article->save(); => true #查看数据结果,添加了一条记录 >>> App\Article::all()->toArray(); => [ [ "id" => "1", "title" => "My First Article", "body" => "Some content...", "published_at" => "2015-03-28 06:37:22", "created_at" => "2015-03-28 06:38:53", "updated_at" => "2015-03-28 06:38:53" ] ] >>> $article->title = ''My First Update Title''; => "My First Update Title" >>> $article->save(); => true >>> App\Article::all()->toArray(); => [ [ "id" => "1", "title" => "My First Update Title", "body" => "Some content...", "published_at" => "2015-03-28 06:37:22", "created_at" => "2015-03-28 06:38:53", "updated_at" => "2015-03-28 06:42:03" ] ] >>> $article = App\Article::find(1); => <App\Article #000000005c4b7e1600000000ab91a676> { id: "1", title: "My First Update Title", body: "Some content...", published_at: "2015-03-28 06:37:22", created_at: "2015-03-28 06:38:53", updated_at: "2015-03-28 06:42:03" } >>> $article = App\Article::where(''body'', ''Some content...'')->get(); => <Illuminate\Database\Eloquent\Collection #000000005c4b7e1800000000ab91a676> [ <App\Article #000000005c4b7e1b00000000ab91a676> { id: "1", title: "My First Update Title", body: "Some content...", published_at: "2015-03-28 06:37:22", created_at: "2015-03-28 06:38:53", updated_at: "2015-03-28 06:42:03" } ] >>> $article = App\Article::where(''body'', ''Some content...'')->first(); => <App\Article #000000005c4b7e1900000000ab91a676> { id: "1", title: "My First Update Title", body: "Some content...", published_at: "2015-03-28 06:37:22", created_at: "2015-03-28 06:38:53", updated_at: "2015-03-28 06:42:03" } >>> >>> $article = App\Article::create([''title'' => ''New Article'', ''body'' => ''New body'', ''published_at'' => Carbon\Carbon::now()]); Illuminate\Database\Eloquent\MassAssignmentException with message ''title''
MassAssignmentException,laravel保护我们不能直接插入记录。比如,在一些特殊情况下我们需要直接利用表单的信息填充数据库记录,但是如果我们并没有在表单中添加密码字段,而黑客产生了密码字段连同我们的其他字段一起送回服务器,这将产生修改密码的危险,所以我们必须明确的告诉laravel我们的模型那些字段是可以直接填充的。
修改我们的模型文件 Article.php
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Article extends Model { protected $fillable = [ ''title'', ''body'', ''published_at'' ]; }
表示,title, body, published_at 是可以直接填充的。
退出 tinker,重新进入
>>> $article = App\Article::create([''title'' => ''New Article'', ''body'' => ''New body'', ''published_at'' => Carbon\Carbon::now()]); => <App\Article #000000005051b2c7000000007ec432dd> { title: "New Article", body: "New body", published_at: <Carbon\Carbon #000000005051b2c6000000007ec4081d> { date: "2015-03-28 06:55:19", timezone_type: 3, timezone: "UTC" }, updated_at: "2015-03-28 06:55:19", created_at: "2015-03-28 06:55:19", id: 2 } # It''s ok >>> App\Article::all()->toArray(); => [ [ "id" => "1", "title" => "My First Update Title", "body" => "Some content...", "published_at" => "2015-03-28 06:37:22", "created_at" => "2015-03-28 06:38:53", "updated_at" => "2015-03-28 06:42:03" ], [ "id" => "2", "title" => "New Article", "body" => "New body", "published_at" => "2015-03-28 06:55:19", "created_at" => "2015-03-28 06:55:19", "updated_at" => "2015-03-28 06:55:19" ] ] >>> $article = App\Article::find(2); => <App\Article #000000005051b22b000000007ec432dd> { id: "2", title: "New Article", body: "New body", published_at: "2015-03-28 06:55:19", created_at: "2015-03-28 06:55:19", updated_at: "2015-03-28 06:55:19" } >>> $article->update([''body'' => ''New Updaet Body'']); => true #update自动调用save()
以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。
我们今天的关于laravel Eloquent 模型 多对多和laravel多模块的分享就到这里,谢谢您的阅读,如果想了解更多关于14. Laravel 4 Eloquent 模型对象关系、Laravel 5框架学习之Eloquent 关系,laraveleloquent、Laravel 5框架学习之Eloquent 关系,laraveleloquent_PHP教程、Laravel 5框架学习之Eloquent (laravel 的ORM),laraveleloquent的相关信息,可以在本站进行搜索。
本文标签: