привет и спасибо за ответ. есть таблица полей. каждое поле имеет много связанных полей, которые сохраняются в таблице related_fields. поэтому в таблице related_fields есть два столбца:
field_id, related_field
Я использую этот код для получения связанных_полей:
public function linked(){
return $this->hasMany('App\RelatedField','field_id','related_field');
}
но проблема в том, что эта функция возвращает коллекцию RelatedField в качестве результата, а не коллекцию Fields, и это не нужно, а нужна коллекция Fields. как лучше всего решить эту проблему?
Благодарю. но я получил эту ошибку: local.ERROR: SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец 'fields.related_field'
Измените
related_field
наid
, это должно совпасть с таблицейfields
.Танки Но один вопрос: как laravel обнаружил related_field?
3-й и 4-й аргументы позволяют указать внешний ключ и первичный ключ соединяемой таблицы и целевой таблицы соответственно. Eloquent делает большую часть своей работы, также используя соглашения об именах, поэтому то, что скрывается под капотом, часто скрыто от пользователя.