您好,歡迎來到web微博客 設為首頁加入收藏
web微博客最好的資源共享平臺!
精品cms模板和教程都在這里!
web微博客清新上線!

Thinkphp的跨庫操作
2015-02-14 13:55:20   來源:web微博客   評論:0 點擊:

分享到:
ThinkPHP可以支持模型的同一數據庫服務器的跨庫操作,跨庫操作只需要簡單配置一個模型所在的數據庫名稱即可,例如,假設UserModel對應的數據表在數據庫user下面,而InfoModel對應的數據表在數據庫info下面,那么

ThinkPHP可以支持模型的同一數據庫服務器的跨庫操作,跨庫操作只需要簡單配置一個模型所在的數據庫名稱即可,例如,假設UserModel對應的數據表在數據庫user下面,而InfoModel對應的數據表在數據庫info下面,那么我們只需要進行下面的設置即可。

class UserModel extends Model {
protected $dbName = 'user';
}
class InfoModel extends Model {
protected $dbName = 'info';
}

在進行查詢的時候,系統能夠自動添加當前模型所在的數據庫名。

$User = D('User');
$User->select();
echo $User->getLastSql();
// 輸出的SQL語句為 select * from user.think_user

模型的表前綴取的是項目配置文件定義的數據表前綴,如果跨庫操作的時候表前綴不是統一的,那么我們可以在模型里面單獨定義表前綴,例如:

protected $tablePrefix = 'other_';

如果你沒有定義模型類,而是使用的M方法操作的話,也可以支持跨庫操作,例如:

$User = M('user.User','other_');

表示實例化User模型,連接的是user數據庫的other_user表。

上一篇:PHP empty() 函數的作用
下一篇:php實現mysql兩個數據庫中表的數據同步

湖南快乐十分走势图表