Form linkage ¶
Since v1.8.0
Form linkage means that when a specified option of a form item is selected, other form items are displayed in linkage.

The currently supported form linkage components are:
selectmultipleSelectbelongsTobelongsToManyradioradioButtonradioCardcheckboxcheckboxButtoncheckboxCard
Instructions ¶
The above components can be divided into two types: single-select and multi-select. Among them, select, radio, belongsTo, radioButton, radioCard are single-select components, and others are multi-select components.
Radio components ¶
In the following example, selecting different nationality types will switch to select different linkage form items:
$form->radio('nationality','Nationality')
->options([
1 =>'Home country',
2 =>'foreign',
])->when(1, function (Form $form) {
$form->text('name','Name');
$form->text('idcard','ID card');
})->when(2, function (Form $form) {
$form->text('name','Name');
$form->text('passport','Passport');
});
In the above example, the method when(1, $callback) is equivalent to when('=', 1, $callback), if you use the operator =, you can omit this parameter
At the same time, these operators are also supported, =, >, >=, <, <=, !=, in, notIn, the usage is as follows:
$form->radio('check')
->when('>', 1, function () {
})->when('>=', 2, function () {
})->when('in', [5, 6], function () {
})->when('notIn', [7, 8], function () {
});
How to use select, belongsTo, radioButton, radioCard and other components is the same as radio.
Multiple selection components ¶
The multi-select component supports three operators: =, !=, has,
$form->checkbox('nationality','Nationality')
->options([
1 =>'China',
2 =>'foreign',
])->when([1, 2], function (Form $form) {
$form->text('name','Name');
$form->text('idcard','ID card');
})->when('has', 2, function (Form $form) {
$form->text('name','Name');
$form->text('passport','Passport');
});
The usage of multipleSelect, belongsToMany, checkboxButton, checkboxCard and other components is the same as checkbox.
Laravel-Admin Documentation