symfony的ORM模型简介

Posted PHP全哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了symfony的ORM模型简介相关的知识,希望对你有一定的参考价值。

    首先,我们需要安装orm组件:

        composer require symfony/orm-pack

    然后打开命令行执行命令生成模型实体,这里记得在.env文件里配置数据库参数,配置格式如下:

    DATABASE_URL=mysql://用户名:用户密码@127.0.0.1:3306/数据库名

    创建|编辑模型实体:

    php bin/console make:entity

    这里根据提示输入class名,然后就是字段名,字段类型,长度,是否为null

    然后创建表,一条命令就行:

    php bin/console doctrine:database:create

    如果有字段增加或修改,再执行一次make:entity命令,类名选一样,就可以修改字段

    修改完,记得执行以下命令:

    php bin/console doctrine:schema:update --force

    这条命令才是经常使用的,用了你就会发现真的很方便。

    接下来就可以在控制器里进行查询了。

    <?php 

    namespace App\Controller\Admin

    use Symfony\Component\Routing\Annotation\Route

    use App\Entity\Article

    class ArticleController extends ControllerBase 

    { 

        /** 

        * @Route("/backend/article",name="backend_article_index")

        */ 

        public function index() 

        { 

            //所有文章 

            $list $this->getDoctrine()->getRepository(Article::class)->findAll(); 

            return $this->render('backend/article/index.html.twig'compact('list')); 

        }

    }


   这里的findAll()是查找所有,如果是带条件查询 findBy(),根据id查找是find($id),具体的使用方法我就不一一列举了。可以去官方文档看手册。
    



以上是关于symfony的ORM模型简介的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 与 Symfony |模型属性

@ORM\Id 不会为 symfony 中的实体创建标识符

测试 Symfony 包:找不到教义.orm.entity

如何修改 Symfony ORM 插入\更新查询

Symfony 3 Doctrine MySQL - 使用 @ORM 注释生成实体

无法在 Symfony 5.1 中安装 orm-pack