Php Laravel中基于实体的模式更新
我目前正在尝试使用Symfony的经验来适应Laravel框架。现在看来一切都很好。然而,有一件事我在拉威尔身上遗漏了,或者我真的找不到该怎么做 在Symfony中,可以选择创建如下实体:Php Laravel中基于实体的模式更新,php,mysql,database,laravel,symfony,Php,Mysql,Database,Laravel,Symfony,我目前正在尝试使用Symfony的经验来适应Laravel框架。现在看来一切都很好。然而,有一件事我在拉威尔身上遗漏了,或者我真的找不到该怎么做 在Symfony中,可以选择创建如下实体: // src/AppBundle/Entity/Product.php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="product") */ cla
// src/AppBundle/Entity/Product.php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="product")
*/
class Product
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $name;
/**
* @ORM\Column(type="decimal", scale=2)
*/
private $price;
/**
* @ORM\Column(type="text")
*/
private $description;
}
创建此文件后,只需运行php应用程序/控制台schema:doctor:update--force
即可更新MySQL数据库
现在我已经了解到,Laravel正在使用雄辩的模型和迁移来相应地更新数据库。但是,我想知道是否有一种与Symfony中使用的方法类似的方法来更新我的数据库。因此,当我运行命令时,它会根据我创建的实体自动更新我的数据库
这是可能的吗?你所要求的并不是天生就存在的 但是,有一个很好的包可以提供您正在寻找的
注释映射。当然,这远不止这些,而且实际上给了你几乎所有重要的缺失部分
下面是一个使用Laravel中条令的元映射的示例:
<?php
use Doctrine\ORM\Mapping AS ORM;
/**
* @ORM\Entity
* @ORM\Table(name="articles")
*/
class Article
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $title;
public function getId()
{
return $this->id;
}
public function getTitle()
{
return $this->title;
}
public function setTitle($title)
{
$this->title = $title;
}
}
谢谢你的回答!这正是我想要的。Laravel是否有相应更新数据库的特殊命令?