aravel提供了3种 *** 作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。下面我将逐一讲解。 数据库的配置文件在config目录下的database.PHP里。打开这个文件,找到MySQL的配置项。 这里有个env,它其实是调用了laravel根目录下的.e
laravel ORM支持多数据库,但mongodb需要用插件:jenssegers/laravel-mongodb · GitHub1、表名问题不大,关键是你的表是适合MVC结构的,spring应该差不多,要玩转laravel,还是要使用Eloquent ORM,这样你需要给你的表建立对应的entity(也就是model),然后通过model建立好表间关系。另外有个插件可以 从现有的表 直接生成 migration,你可以试试。
2、数据库事件 主要通过模型事件来完成:
Project::creating(function($project) { })// *
Project::created(function($project) { })
Project::updating(function($project) { })// *
Project::updated(function($project) { })
Project::saving(function($project) { })// *
Project::saved(function($project) { })
Project::deleting(function($project) { })// *
Project::deleted(function($project) { })
还是比较简单的
Laravel框架中的DB类让我们可以方便的进行数据库 *** 作,比如常见的query查询:DB::query('SELECT * FROM users')
Larvel还提供了类似CI框架中Active Record的Fluent Query Builder : DB::table('user')->where('id','=','1')->get()
虽然从 *** 作上和普通查询相差不大,但是需要注意到是Laravel的查询结果和原生查询不同。
简单建立一个contents表测试下,表里有content字段,我们查询一下:
$content = DB::table('contents')->where('id','=','1')->get()
最后打印一下$content变量看看有什么不同:
array(1)
{
[0]=>object(stdClass)#31 (1) {
["content"]=>string(24) "这是一个测试~~" }
}
从上面可以知道查询的结果是一个包含对象的数组,因此我们要取得content值就必须先迭代:
foreach($contents as $content)
{ echo $content->content
}
总体来说Laravel的数据库 *** 作很容易上手。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)