本文实例讲述了laravel5.1框架下的批量赋值实现方法。分享给大家供大家参考,具体如下:
官方中文文档在这里:
http://laravel-china.org/docs/5.1/eloquent#%E6%89%B9%E9%87%8F%E8%B5%8B%E5%80%BC
我先来说明一下一个场景:
你想要往数据库中存评论,在控制器的代码如下:
1
2
3
4
5
6
7
8
|
$comment ->comment_id= $id ; $comment ->title = $name ; $comment ->url = $url ; $comment ->introduction = $profile ; if ( $comment ->save()) { return redirect( 'admin/comment' ); } else { return redirect()->back()->withInput()->withErrors( '保存失败!' ) |
设想一下如果这个评论表的字段有很多,岂不是要一个字段一个字段的存储,代码量太高。laravel框架提供了一个叫做批量赋值的功能:
控制器代码如下:
1
2
3
4
5
6
7
8
|
public function store(Request $request ) { if (Comment::create( $request ->all())) { return redirect()->back(); } else { return redirect()->back()->withInput()->withErrors( '评论发表失败!' ); } } |
对应的App\models中的Comment类:
1
2
3
4
5
6
7
8
|
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Comment extends Model { protected $fillable = [ 'nickname' , 'email' , 'website' , 'content' , 'article_id' ]; } protected $fillable = [ 'nickname' , 'email' , 'website' , 'content' , 'article_id' ]; |
这一行就表示控制器中得到的数据全部存入相应字段,是不是很简单方便?
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/qq_31989521/article/details/51746053