2016-03-30 70 views
0

我是laravel的新手。我有用phpmyadmin设计的整个数据库。现在我想将现有的数据库集成到Laravel中。有没有办法做到这一点?如果是这样,那么我是否必须创建模型?现有数据库与Laravel 5.0集成

回答

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 BuilderEloquent)。

+0

谢谢您的回复。如果我在database.php文件中添加我的数据库证书,所有的表和关系将被laravel识别。我所要做的就是为我的桌子创建模型? –

+0

是的,确切地说:-) –

+0

好的。谢谢。我得到了它的工作。 –