THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


J'essaye de cree les tables a fason de Thelia core. J'ai le schema

    <table name="filter_distillery" namespace="Filter\Model">
        <column name="id" primaryKey="true" required="true" type="INTEGER" autoIncrement="true" />
        <column name="ref" required="false" size="255" type="VARCHAR" />
        <column name="visible" required="true" size="4" type="INTEGER" />
        <column name="position" required="true" size="4" type="INTEGER" />
        <behavior name="timestampable" />
    </table>

    <table name="filter_distillery_i18n" namespace="Filter\Model">
        <column name="id" required="true" type="INTEGER" />
        <column name="locale" required="true" size="5" type="VARCHAR" />
        <column name="title" required="false" size="255" type="VARCHAR" />
        <unique>
            <unique-column name="id" />
            <unique-column name="locale" />
        </unique>
        <foreign-key foreignTable="filter_distillery" name="fk_filter_distillery_i18n_id" onDelete="CASCADE" onUpdate="RESTRICT">
            <reference foreign="id" local="id" />
        </foreign-key>
        <behavior name="timestampable" />
    </table>

Mais apres je ne peux pas utiliser le code suivant

$c = FilterDistilleryQuery::create()
                ->useFilterDistilleryI18nQuery()
                ->filterByTitle('name')
                ->endUse()
                ->findOne();

C'est pourquoi il'n'y'a pas de useFilterDistilleryI18nQuery() methode. Donnez moi une example de schema correct pour cette but s'il vous plaît.

J'analysé le thelia.sql et ne trouvé pas comment le category table peut connaitre d'existence de category_i18n table.

CREATE TABLE `category`
(
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `parent` INTEGER,
    `visible` TINYINT NOT NULL,
    `position` INTEGER NOT NULL,
    `created_at` DATETIME,
    `updated_at` DATETIME,
    `version` INTEGER DEFAULT 0,
    `version_created_at` DATETIME,
    `version_created_by` VARCHAR(100),
    PRIMARY KEY (`id`),
    INDEX `idx_parent` (`parent`),
    INDEX `idx_parent_position` (`parent`, `position`)
) ENGINE=InnoDB CHARACTER SET='utf8';

Last edited by Vdomah (10-11-2014 09:46:59)

Offline


Trouvé le solution.

<table name="item">
  <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
  <column name="name" type="VARCHAR" required="true" />
  <column name="description" type="LONGVARCHAR" />
  <column name="price" type="FLOAT" />
  <column name="is_in_store" type="BOOLEAN" />
  <behavior name="i18n">
    <parameter name="i18n_columns" value="name, description" />
  </behavior>
</table>