Sunday, April 16, 2017

enum values from mysql table

I have a enum column in my table and I am trying to get out the values I have set in the table in a drop down. So first I have written this query to get the column_type and column_name

"SELECT `COLUMN_NAME`,`DATA_TYPE`,`COLUMN_TYPE` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='devsbh' AND `TABLE_NAME`='modules' AND `COLUMN_NAME` NOT IN ('created_at', 'updated_at')"

then I do this to get out the enum values like so

<?php 
   $regex = "/'(.*?)'/";
   preg_match_all( $regex , $modules->COLUMN_TYPE , $enum_array );
   $enum_fields = $enum_array[1];
?>

and I display like so

PS:Using laravel's blade template engine.

{!! Form::select($modules->COLUMN_NAME,$enum_fields) !!}

Everything is correct up until here. When I try to store it tries too save as for Y => 0 and for N => 1. How can I get the key => value same as enum value?

the values of $enum_fields as per the console is [0]=>Y , [1]=>N.



via this.Believer

Advertisement