在我的本地主机中,Kartik Depdrop工作正常。当我将包上传到服务器时,问题就开始了。 Depdrop有时会起作用,有时会出错 - 500 internal server error
。
我如何使用
在我选择productname的形式中,batchno应显示为DepDrop。 我的控制器动作
public function actionSubcat() {
$out = [];
if (isset($_POST['depdrop_parents'])) {
$parents = $_POST['depdrop_parents'];
if ($parents != null) {
$cat_id = $parents[0];
$out = Productbatch::getBatchNo($cat_id);
echo Json::encode($out);
return;
}
}
echo Json::encode(['output'=>'', 'selected'=>'']);
}
我的表格 -
<?= $form->field($model, 'productname')->widget(Select2::classname(), [
'data' => ArrayHelper::map(Productnames::find()->all(),'productnames_productname','productnames_productname'),
'language' => 'en',
'options' => ['placeholder' => 'Select Product Name', 'id' => 'catid'],
'pluginOptions' => [
'allowClear' => true
],
]); ?>
<?= $form->field($model, 'batchno')->widget(DepDrop::classname(), [
'options'=>['id'=>'batchid'],
'pluginOptions'=>[
'depends'=>['catid'],
'placeholder'=>'Select BatchNo',
'url'=> Url::to(['/invoice/bills/subcat'], true),
]
]); ?>
功能 getBatchNo($ cat_id)
public static function getBatchNo($cat_id)
{
$out = [];
$data = Productbatch::find()
->where(['productname' => $cat_id])
->orDerBy([
'expdate'=>SORT_DESC,
])
->limit(5)
->asArray()
->all();
foreach ($data as $dat) {
$out[] = ['id' => $dat['batchno'], 'name' => $dat['batchno']];
}
return $output = [
'output' => $out,
'selected' => ''
];
}
在带下划线的部分中,您可以看到它的工作正常,有时会出错。