Tôi đang cố tạo mô hình và di chuyển cho mô hình đó trong Laravel 4.2. Tất cả các ứng dụng Laravel của tôi sử dụng cùng một cơ sở dữ liệu MySQL được gọi là laravel
. Tuy nhiên, chúng tôi cũng có một cơ sở dữ liệu khác (trên cùng một máy chủ), được gọi là main_db
có chứa một bảng users
, mà tôi muốn sử dụng cho nguồn của một vài khóa ngoài trong bảng laravel_users
của riêng mình trong cơ sở dữ liệu laravel
.Có thể tham chiếu khóa ngoại trong cơ sở dữ liệu khác trong Laravel không?
Theo tài liệu Laravel, tôi sẽ chỉ định một chính nước ngoài với mã này:
$table->foreign('user_id')->references('id')->on('users');
Nhưng tôi tin rằng điều này giả định rằng các bảng 'users'
tồn tại trong cơ sở dữ liệu tương tự.
Có thể thực hiện các khóa ngoại vi dữ liệu xuyên trong Laravel không? Trước tiên, tôi có phải tạo mô hình sử dụng bảng users
từ main_db
không? Và có thể thiết lập hai kết nối cơ sở dữ liệu khác nhau trong app/config/database.php
không?
Oh wow. Tôi yêu nó khi mọi thứ đến với nhau một cách rõ ràng. Cảm ơn nhiều. Chỉ cần làm rõ mặc dù, sau đó tôi sẽ phải thêm ký hiệu chấm cho mỗi cơ sở dữ liệu về sau? I E. tất cả các mô hình Laravel trước đây của tôi sẽ phải sử dụng 'laravel.xxxx' từ đây trở đi ...? – cchapman
Bạn được chào đón. Không, bạn chỉ phải chỉ định db nếu nó khác với db mà bảng bạn đang thêm khóa vào. – lukasgeiter