slim mysql_在 Slim 中使用 Eloquent
在 Slim 中使用 Eloquent
你可以使用 Eloquent 这种数据库 ORM 将你的 Slim 应用程序连接到数据库。
为你的应用程序添加 Eloquent
composer require illuminate/database "~5.1"
Figure 1: Add Eloquent to your application.
配置 Eloquent
在 Slim 的 setting 数组中添加数据库设置项。
return [
"settings" => [
// Slim Settings
"determineRouteBeforeAppMiddleware" => false,
"displayErrorDetails" => true,
"db" => [
"driver" => "mysql",
"host" => "localhost",
"database" => "database",
"username" => "user",
"password" => "password",
"charset" => "utf8",
"collation" => "utf8_unicode_ci",
"prefix" => "",
]
],
];
Figure 2: Settings array.
在 dependencies.php 中,或者其他任意位置添加你的 Service Factories:
// Service factory for the ORM
$container["db"] = function ($container) {
$capsule = new IlluminateDatabaseCapsuleManager;
$capsule->addConnection($container["settings"]["db"]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
return $capsule;
};
Figure 3: Configure Eloquent.
传递数据表实例到控制器
$container[AppWidgetController::class] = function ($c) {
$view = $c->get("view");
$logger = $c->get("logger")
$table = $c->get("db")->table("table_name");
return new AppWidgetController($view, $logger, $table);
};
Figure 4: Pass table object into a controller.
从控制器中查询数据表
namespace App;
use SlimViewsTwig;
use PsrLogLoggerInterface;
use IlluminateDatabaseQueryBuilder;
use PsrHttpMessageServerRequestInterface as Request;
use PsrHttpMessageResponseInterface as Response;
class WidgetController
{
private $view;
private $logger;
protected $table;
public function __construct(
Twig $view,
LoggerInterface $logger,
Builder $table
) {
$this->view = $view;
$this->logger = $logger;
$this->table = $table;
}
public function __invoke(Request $request, Response $response, $args)
{
$widgets = $this->table->get();
$this->view->render($response, "app/index.twig", [
"widgets" => $widgets
]);
return $response;
}
}
Figure 5: Sample controller querying the table.
使用 where 查询数据表
...
$records = $this->table->where("name", "like", "%foo%")->get();
...
Figure 6: Query searching for names matching foo.
通过 id 查询数据表
...
$record = $this->table->find(1);
...
Figure 7: Selecting a row based on id.
了解更多
slim mysql_在 Slim 中使用 Eloquent相关推荐
- slim php 优点,Slim容器分析
Slim容器分析 5年前,我还没什么编程经验,第一次接触java的spring框架,了解容器容器的概念,立刻被它巧妙的设计所惊呆,没错,就是惊呆...没想到程序居然可以这么写!! 不是从上至下的命令式 ...
- php slim框架 教程,Slim —— PHP web开发微框架
Slim是一款基于PHP的web开发微框架,帮助 PHP 开发者快速编写简单强大的web应用和API.Slim的接口简单而符合直觉,文档也很详细. 直接看一段代码吧: $app->get('/' ...
- php 查看 实例 的方法,php – 从Laravel 5.1中的通用数据库查询中获取Eloquent模型的实例...
我有不同关系的模型.假设我的Entry模型属于供应商,所以通常我的模型文件中有一个supplier()方法. 到目前为止一切都那么好,当我有一些像Entry :: find(1) – >供应商这 ...
- libevent mysql_在 libevent 中使用 MariaDB(MySQL)
在之前我翻译的官方文档中提到了 MariaDB 提供了对异步 I/O 的支持.那篇文章是一个比较简要的介绍.不过实际适配中,官方也提供了一个完整适配 libevent 的示例代码.本文算是对我上述示例 ...
- pyqt tableview mysql_当数据库中添加了一个新条目时,如何在PyQt中更新TableView?
我正在尝试在PyQt Gui中更新我的TableView,这样每当有新条目添加到QPSQL数据库时,它也会在Gui中的TableView中更新它. 目前,连接工作得很好,可以正确地连接到数据库,并显示 ...
- python协程池操作mysql_在python中使用aiomysql异步操作mysql
之前一直在使用mongo与redis,最近在项目中开始使用mysql数据库,由于现在的项目是全程异步的操作,所以在在网上查了下关于在python中异步的操作mysql,找来找去最后发现aiomysql ...
- parquet to mysql_在hive中使用parquet (CDH4.3)
hadoop版本 cdh4.3 使用impala创建parquet表后,查询会出错. [impala:21000] SELECT * FROM foo;Query: SELECT * FROM foo ...
- checkpoint技术mysql_认识MySQL中的Checkpoint技术
1,checkpoint产生的背景 数据库在发生增删查改操作的时候,都是先在buffer pool中完成的,为了提高事物操作的效率,buffer pool中修改之后的数据,并没有立即写入到磁盘,这有可 ...
- 日期加星期存入mysql_在MySQL中添加两个星期的日期?
要在MySQL中添加两个星期的日期,请使用DATE_ADD()-insert into yourTableName(yourColumnName) values(date_add(now(),inte ...
最新文章
- Kafka 3.0重磅发布,都更新了些什么?
- 在启动activity之前,调用application的oncreate
- Ubuntu学习——第一篇
- ASP.NET Core IHostEnvironment和IApplicationLifetime介绍
- Java -- 网络编程(一):Client与Server之间的数据传送
- tomcat,eclipse,sts绿色运行
- 今天的一条条平坦的即时通讯
- Android开发学习之TabView选项卡具体解释 -- 基于Android4.4
- mysql启动失败2005_数据库2005服务启动不了
- 配置LANMP环境(1)-- 安装虚拟机VMware与安装CentOS7.2系统
- node项目打包如何隐藏html后缀,详解webpack打包nodejs项目(前端代码)
- python定义16进制数组,十六进制字符串到python中的字节数组
- sublime text 安装及使用
- 计算机创建快捷方式w10,win10中解决无法在桌面添加快捷方式的修复方法
- Android Activity 的详细启动过程分析
- 1分钟教你快速使用C#查找和替换PDF文件中的文本
- 新edge保持百度账号登录
- 第十二天-函数名 迭代器
- HTML5手机页面触屏滑动上下翻页特效
- java中二维数组的定义
热门文章
- TCP知识点以及TimeWait和CloseWait原理图
- 正则表达式工具_30种有用的正则表达式工具和资源
- python正则表达式匹配模式_Python与正则表达式[0] - re 模块的正则表达式匹配
- 李子柒品牌营销透视 | 挖掘红人效应外的品牌价值
- 企业注册小知识科普问答?
- 新东方在线——java开发一面面经(2020视频面试)
- Android震动器Vibrator调用
- ASP.NET MVC 马伦老师 视频
- 学php丢人吗,大学里一个人吃饭很丢人吗? - 窗外事 - 简单学习网论坛_中高考学习交流论坛_中学生学习论坛 - Powered by phpwind...
- 为服务器安装网卡驱动