2016-03-30 71 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

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