0

I've been trying to extend tx_news with a m:m relation with not much luck so far. Anything I can find online is just for a regular relation, where the ID is saved directly into the same table, not an extra _mm column.

The backend looks fine so far, the way I want it with a selectMultipleSideBySide renderType. It also saves the relations to the database.

Extending the News TCA with this, works fine:

$extendArtistId = array(
    'artist_id' => array (
        'exclude' => 0,
        'l10n_mode' => 'exclude',
        'label' => 'Künstler',
        'config' => array(
            'type' => 'select',
            'renderType' => 'selectMultipleSideBySide',
            'enableMultiSelectFilterTextfield' => TRUE,
            'foreign_table' => 'tx_bfartistmanagement_domain_model_kuenstler',
            'foreign_table_where' => 'AND tx_bfartistmanagement_domain_model_kuenstler.sys_language_uid = 0 AND tx_bfartistmanagement_domain_model_kuenstler.pid = 63 ORDER BY tx_bfartistmanagement_domain_model_kuenstler.name ASC',
            'MM' => 'tx_news_domain_model_news_artist_id_mm',
            'minitems' => 0,
            'maxitems' => 99
        ),
    ),
);

And the entries are saved the way I expected:

enter image description here

The problem I'm having now is getting these relations from a different extension. News has something called "Hooks", but I'm not sure I want/need that for my case.

The query inside my other extension currently looks like this, newsRepository being injected:

$news = $this->newsRepository->findByArtistId(intval($userID));

I struggle with the next step(s). The function findByArtistId was working before as I was saving the artistId directly inside the news table, but that only works with a direct relation, not an M:M one.

How can I get the News that are associated with that artist, with an m:m relation?

Andreas
  • 412
  • 6
  • 19

0 Answers0