本文实例讲述了Laravel5.1 框架模型创建与使用方法。分享给大家供大家参考,具体如下: Laravel的模型也是访问数据库的,它更加面向对象,一个模型对应着一张表 我们可以使用模型对数据做一些增删改查的操作。 1 创建模型 创建模型是可以使用Artisan控制台的: php artisan make:model Article 一般我比较喜欢连带着migration一起生成: php artisan make:model Article -m ↑ 执行了上面的Artisan命令后 我们就可以在 /app 下找到我们刚刚创建的模型了,顺便也生成好了migration。 2 模型常用 在Laravel5.1框架中,模型(Model)是数据访问层的核心部分,它提供了方便的方法来操作数据库,实现增删改查等操作。模型通常与数据库中的表相对应,通过面向对象的方式使得数据库交互更加简洁。以下是关于Laravel5.1模型创建与使用的详细说明: 1. **创建模型** 使用Artisan命令行工具可以轻松创建模型。例如,要创建名为`Article`的模型,可以执行以下命令: ``` php artisan make:model Article ``` 若要同时生成相应的迁移文件(migration),可以加上`-m`选项: ``` php artisan make:model Article -m ``` 这将在`/app`目录下创建`Article`模型文件,并生成用于创建表的迁移文件。 2. **模型属性** - **自定义表名**:默认情况下,模型`Article`对应数据库中的`articles`表,但可以通过设置`$table`属性来自定义表名: ```php class Article extends Model { protected $table = 'K_Articles'; } ``` - **自定义主键**:默认主键为`id`,如果要使用其他字段作为主键,可设置`$primaryKey`: ```php class Article extends Model { protected $primaryKey = 'article_id'; } ``` - **时间戳**:Laravel会自动维护`created_at`和`updated_at`字段。若不需要此功能,可设置`$timestamps`为`false`: ```php class Article extends Model { public $timestamps = false; } ``` - **白名单与黑名单**:用于控制哪些属性允许填充。`$fillable`表示白名单,`$guarded`表示黑名单。例如,仅允许`title`和`body`填充: ```php class Article extends Model { protected $fillable = ['title', 'body']; } ``` 3. **创建数据** - **普通创建**:直接实例化模型并保存: ```php public function getCreateArticle() { $article = new Article(); $article->title = 'One'; $article->body = 'Learn Laravel Model'; $article->save(); } ``` - **批量创建**:使用`create`方法创建并保存数据,需确保属性在白名单或黑名单中: ```php public function getCreateArticle() { $article = Article::create([ 'title' => 'Two', 'body' => 'Test Create Model', 'comment_count' => 10, ]); } ``` 4. **更新数据** - **普通更新**:找到模型后再更新属性并保存: ```php public function getUpdateArticle() { $article = Article::find(1); $article->title = 'Article_One'; $article->save(); } ``` - **批量更新**:使用`update`方法更新属性: ```php public function getUpdateArticle() { $article = Article::find(3); $article->update(['title' => 'Three', 'body' => 'Third']); } ``` 5. **查找数据** - **获取所有模型**:使用`all`方法获取表中的所有记录: ```php public function getIndex() { $articles = Article::all(); foreach ($articles as $article) { echo $article->title . PHP_EOL; } } ``` - **根据ID查找**:使用`find`方法按ID查找特定记录: ```php public function getByID() { $article = Article::find(1); echo $article->title; } ``` - **查询构造器**:模型可以与Eloquent查询构造器结合使用,实现更复杂的查询,如过滤、联接、分页等。 6. **其他操作** - **软删除**:Laravel提供软删除功能,不直接删除记录,而是设置`deleted_at`字段。启用软删除需在模型中继承`SoftDeletes` trait: ```php use Illuminate\Database\Eloquent\SoftDeletes; class Article extends Model { use SoftDeletes; protected $dates = ['deleted_at']; } ``` - **关系**:模型间可以建立关联,如一对一、一对多、多对多等,便于处理关联数据。 Laravel5.1的模型提供了一套强大且灵活的机制,让开发者能够高效地处理数据库操作,同时也保持代码的整洁和可读性。通过模型,你可以轻松实现数据的增删改查,以及进行更复杂的数据库查询和数据操作。
- 粉丝: 8
- 资源: 965
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0