2

Can anyone describe how to use joinField() method of collection (Magento\Eav\Model\Entity\Collection\AbstractCollection).

I actually don't know what means each argument:

public function joinField($alias, $table, $field, $bind, $cond = null, $joinType = 'inner')
...

Great Thanks!

1 Answer 1

8

The function describes itself if you check comments added before the function.

/**
 * Join regular table field and use an attribute as fk
 *
 * Examples:
 * ('country_name', 'directory_country_name', 'name', 'country_id=shipping_country',
 *      "{{table}}.language_code='en'", 'left')
 *
 * @param string $alias 'country_name'
 * @param string $table 'directory_country_name'
 * @param string $field 'name'
 * @param string $bind 'PK(country_id)=FK(shipping_country_id)'
 * @param string|array $cond "{{table}}.language_code='en'" OR array('language_code'=>'en')
 * @param string $joinType 'left'
 * @return $this
 * @throws LocalizedException
 */

First Argument is $alias which allows to add the alias for the table name we want to join.
Second argument is $table which is actual table name in the database.
Third argument is $field, the field which we want to join
Fourth argument is $bind where you define the ON condition of your sql query
Fifth argument is $cond which allows to add where conditions
Last argument is $joinType which defines your table join type. left, right, inner

13
  • I've updated question Commented Sep 15, 2017 at 9:29
  • @KyryloRomantsov, please check updated answer Commented Sep 15, 2017 at 10:15
  • That error still occure Commented Sep 15, 2017 at 10:18
  • @KyryloRomantsov, I had checked the table and had updated the column names as required. please check now Commented Sep 15, 2017 at 10:24
  • it doesn't work, I can't understand how to make fk Commented Sep 18, 2017 at 8:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.