แก้ไขทีละหลายๆ record ด้วย Yii Framework 2

wave
มานพ กองอุ่น 13 มิ.ย. 2018 18:30:05 5,981

ในบทเรียนรู้นี้เรามาเรียนรู้การสร้างฟอร์มสำหรับการแก้ไขทีละหลายๆ record ด้วย Yii Framework ซึ่งเป็นการสร้าง input แบบ multiple input นั่นเอง โดยมีตัวอย่างดังต่อไปนี้

PostController

<?php

namespace frontend\controllers;

use Yii;
use yii\base\Model;
use yii\web\Controller;
use common\models\Post;

class PostController extends Controller
{

    public function actionUpdate()
    {
        $posts = Post::find()->indexBy('id')->all();

        if (Model::loadMultiple($posts, Yii::$app->request->post()) && Model::validateMultiple($posts)) {
            foreach ($posts as $post) {
                $post->save(false);
            }
            return $this->redirect('index');
        }

        return $this->render('update', ['posts' => $posts]);
    }
}

ใน view update

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;

$form = ActiveForm::begin();

foreach ($posts as $index => $post) {
    echo $form->field($post, "[".$index."]name")->label($post->name);
}

ActiveForm::end();

ก็สามารถใช้งาน multiple input ในการแก้ไขข้อมูลทีละหลายๆ รายการได้แล้ว


ความคิดเห็น

หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com

เขียนบทเรียนรู้ของคุณ

รายละเอียด
  • ดู 5,981
  • รักเลย 0
  • หมวดหมู่ Yii Framework 2 (Yii2)
  • เขียนเมื่อ
  • แก้ไขเมื่อ
  • Tags yii2 yii framework 2 multiple input
ข้อมูลผู้เขียน
มานพ กองอุ่น

มานพ กองอุ่น

เป็นสมาชิกเมื่อ: 18 ธ.ค. 2009

เนื้อหาที่เกี่ยวข้อง