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識別。我所要做的就是爲我的桌子創建模型? –
是的,確切地說:-) –
好的。謝謝。我得到了它的工作。 –