目录
访问数据库用到的组件是doctrine,这个堪比java界的hibernate,里面的很过概念都有相同之处,在下面的文章描述里面,有对这两者结合起来进行对比。
1, 添加数据库访问配置参数
在项目的根目录下,不是config目录,打开里面的 .env文件,里面配置好访问数据库的参数。
# customize this line!
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"
# to use sqlite:
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db"
2,创建数据库
可以手工在数据库客户端命令行里面创建,也可以使用doctrine创建。
如果需为创建的数据库添加参数的话,建议使用命令行创建,比如:定义页面大小,数据存放位置等等。
php bin/console doctrine:database:create
3,创建实体类
可以手工在开发环境里面创建,也可以使用symfony自带的命令进行创建。
php bin/console make:entity
在这新建的实体类为Product:
// src/Entity/Product.php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\ProductRepository")
*/
class Product
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type&