使用i18n数据库表(cakePHP)从两个表进行翻译
我有四张桌子: 画廊类别表: id(int); 头衔(varchar) 画廊图片表: id(int); 头衔(varchar) 图库\u类别\u图库\u图片表连接到上面的表格: 画廊(分类)id(int);; 画廊图片id(内部) 和i18n表: id(int) 语言环境(varchar) 模型(varchar) 外键(int) 字段(varchar) 内容(文本) 我试过:使用i18n数据库表(cakePHP)从两个表进行翻译,cakephp,internationalization,Cakephp,Internationalization,我有四张桌子: 画廊类别表: id(int); 头衔(varchar) 画廊图片表: id(int); 头衔(varchar) 图库\u类别\u图库\u图片表连接到上面的表格: 画廊(分类)id(int);; 画廊图片id(内部) 和i18n表: id(int) 语言环境(varchar) 模型(varchar) 外键(int) 字段(varchar) 内容(文本) 我试过: $this->GalleryCategory->bindModel(array( '
$this->GalleryCategory->bindModel(array(
'hasOne' => array(
'GalleryCategoriesGalleryPicture',
'GalleryPicture' => array(
'className' => 'GalleryPicture',
'foreignKey' => false,
'conditions' => array('GalleryPicture.id = GalleryCategoriesGalleryPicture.gallery_picture_id')
))));
$galleryCategories = $this->GalleryCategory->find('all', array(
'fields' => array('GalleryCategory.*','GalleryPicture.*')
));
但它总是返回正确的类别表字段和错误的图片表字段。。。
类别字段包含正确的翻译单词。
Pictrures字段包含错误的翻译单词
模型:
class GalleryCategory extends AppModel
{
public $tablePrefix = 'ef_';
var $name = 'GalleryCategory';
public $actsAs = array('Translate' => array(
'title' => 'titleTranslation'
)
);
}
class GalleryPicture extends AppModel
{
public $tablePrefix = 'ef_';
var $name = 'GalleryPicture';
public $actsAs = array('Translate' => array(
'title' => 'titleTranslation'
)
);
}
如何从这两个表中获得正确的翻译单词
ps:“i18n数据库表”的转换仅适用于一个表(例如:仅GalleryCategory或仅GalleryPicture)。转换不适用于相关模型,请参阅: 请注意,只有您直接执行的
find
模型的字段才会被转换。通过关联附加的模型将不会被转换,因为当前不支持在关联模型上触发回调
更新
这可能有点棘手,因为您有一个HABTM关系-之前我通过向模型的afterFind回调添加第二个数据检索来解决这个问题,但这是一个更简单的关联。希望这有帮助。翻译不适用于相关模型,请参阅: 请注意,只有您直接执行的
find
模型的字段才会被转换。通过关联附加的模型将不会被转换,因为当前不支持在关联模型上触发回调
更新
这可能有点棘手,因为您有一个HABTM关系-之前我通过向模型的afterFind回调添加第二个数据检索来解决这个问题,但这是一个更简单的关联。希望这有帮助。谢谢!但这对我来说是个错误的消息…:-/那么如何解决翻译问题呢?你或其他人有什么建议吗?我已经添加了一个建议。如果你能接受我的回答,如果它能回答你的问题,那就太好了!非常感谢。但这对我来说是个错误的消息…:-/那么如何解决翻译问题呢?你或其他人有什么建议吗?我已经添加了一个建议。如果你能接受我的回答,如果它能回答你的问题,那就太好了!