项目示例¶
开始项目¶
创建 web 应用 webapp
laravel new webapp
cd webapp
安装 microestc/oscardb
composer require microestc/oscardb
创建配置文件 config/oscardb.php
<?php
return [
'oscardb' => [
'driver' => 'oscar',
'url' => env('DB_URL'),
'host' => '127.0.0.1',
'port' => '2003',
'database' => 'osrdb',
'username' => 'sysdba',
'password' => 'szoscar55',
'charset' => 'utf8',
'prefix' => '',
'quoting' => false,
],
];
修改默认使用数据库 config/database.php
'default' => 'oscardb',
配置默认数据库提供服务 config/app.php providers 中加入
Microestc\OscarDB\OscarDBServiceProvider::class,
开始测试¶
追加路由 routes/web.php
Route::get('/users/index', [UsersController::class, 'index']);
app/Http/Controllers/UsersController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
class UsersController extends Controller
{
/**
* Show a list of all of the application's users.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
DB::statement('drop table if exists php_users');
DB::statement('create table php_users (id int auto_increment primary key, name text)');
DB::unprepared("insert into php_users (name) values ('张三'),('Lili')");
$users = DB::select('select * from php_users');
\print_r($users);
$users = DB::select('select * from php_users where id > ?', [1]);
\print_r($users);
$users = DB::connection()->select('select * from php_users');
\print_r($users);
$users = DB::connection('oscardb')->select('select * from php_users');
\print_r($users);
$id = DB::connection('oscardb')->table('php_users')->insertGetId(
['name' => 'john@example.com'], 'id'
);
\print_r($id);
DB::insert('insert into php_users (name) values (?)', ['Marc']);
$users = DB::select('select * from php_users');
\print_r($users);
$affected = DB::update(
'update php_users set name = ? where id = 1',
['Anita']
);
\print_r("\n affected:".$affected);
$deleted = DB::delete('delete from php_users where id = 1');
\print_r("\n deleted:".$deleted);
DB::transaction(function () {
DB::update('update php_users set name = ? where id = 2', ['李四']);
DB::delete('delete from php_posts');
DB::rollBack();
}, 2);
$users = DB::select('select * from php_users where id = 2');
\print_r($users);
return view('users_index', ['users' => $users]);
}
}
创建 resources/views/users_index.blade.php 文件,添加以下内容
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Nunito', sans-serif;
}
</style>
</head>
<body class="antialiased">
</body>
</html>