0
我是laravel的新手。我有用phpmyadmin设计的整个数据库。现在我想将现有的数据库集成到Laravel中。有没有办法做到这一点?如果是这样,那么我是否必须创建模型?现有数据库与Laravel 5.0集成
我是laravel的新手。我有用phpmyadmin设计的整个数据库。现在我想将现有的数据库集成到Laravel中。有没有办法做到这一点?如果是这样,那么我是否必须创建模型?现有数据库与Laravel 5.0集成
是的,您可以在laravel中使用您的数据库,但首先您必须提供数据库凭据以允许框架/ Laravel访问您的数据库。所以,你可以使用一个.env
文件或简单地可以使用config/database.php
提供凭据,例如,使用您的mySql
数据库中的所有你需要设置数据库配置如下:
'default' => env('DB_CONNECTION', 'mysql'),
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'your_database_name'),
'username' => env('DB_USERNAME', 'your_database_username'),
'password' => env('DB_PASSWORD', 'your_database_password'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
]
那么对于你的第二个问题,是的,您必须为每个表格创建模型,或者您可以使用DB
外观直接从您的控制器运行查询(不推荐)。例如,访问您的posts
表,你可以创建app
文件夹Post
模型可能是这个样子:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
// If your table name is other than posts
// then use this property to tell Laravel
// the table name.
protected $table = 'posts';
}
然后你可以使用这样的事情:
$posts = \App\Post::all(); // Get all posts
$post = \App\Post::find(1); // Get the post with id 1
如果你不” t想要使用像我之前创建的雄辩模型那么你可以使用这样的事情:
$posts = \DB::table('posts')->get(); // Get allp posts
这些是一些基本的让你开始的例子。要详细了解模型/数据库的用例,您应该访问Laravel website并阅读手册(查找Database
部分并检查Query Builder和Eloquent)。
谢谢您的回复。如果我在database.php文件中添加我的数据库证书,所有的表和关系将被laravel识别。我所要做的就是为我的桌子创建模型? –
是的,确切地说:-) –
好的。谢谢。我得到了它的工作。 –