关系字段在下拉列表中仅显示一条记录

问题描述 投票:0回答:1

我用Builder插件创建了两个表:myplugin_cars_myplugin_cars_makes

# mysql > SHOW COLUMNS FROM myplugin_cars_;
+------------------+----------------------+------+-----+---------+----------------+
| Field            | Type                 | Null | Key | Default | Extra          |
+------------------+----------------------+------+-----+---------+----------------+
| id               | int(10) unsigned     | NO   | PRI | NULL    | auto_increment |
| make_id          | int(10) unsigned     | NO   |     | NULL    |                |
| model            | varchar(191)         | YES  |     | NULL    |                |
| reg_year         | date                 | NO   |     | NULL    |                |
| mileage          | varchar(191)         | YES  |     | NULL    |                |
+------------------+----------------------+------+-----+---------+----------------+

# mysql > SHOW COLUMNS FROM myplugin_cars_makes;
+---------+------------------+------+-----+---------+----------------+
| Field   | Type             | Null | Key | Default | Extra          |
+---------+------------------+------+-----+---------+----------------+
| make_id | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| make    | varchar(191)     | NO   |     | NULL    |                |
+---------+------------------+------+-----+---------+----------------+

我为每个表创建了两个用Builder插件创建的模型,并通过make_id列将它们连接在一起的关系字段。

enter image description here

Car包含以下关系:

public $hasOne = [
    'make_id' => ['MyPlugin\Cars\Models\Make'],
];

但是,relation字段在下拉列表中仅显示一条记录,而不是myplugin_cars_makes表中包含的所有记录。

enter image description here

octobercms octobercms-backend octobercms-builder
1个回答
0
投票

您也可以在“ Make”类中逆转关系>

public $belongsTo = [
    'make_id' => ['MyName\Cars\Models\Car', 'key' => 'make_id']
];

如果这不起作用

尝试改善“汽车”课程中的代码

public $hasOne = [
    'make_id' => ['MyName\Cars\Models\Make', 'key' => 'make_id']
];

希望获得帮助

© www.soinside.com 2019 - 2024. All rights reserved.