Php 带数据库的laravel下拉列表
我是laravel框架的新手,我发现很难理解laravel表单的可用性。。。。这是我面临的一些问题 首先我的下拉列表应该有我的类别名称,在下拉列表的最后是我的特定下拉列表,添加新类别,当我选择时将触发我的javascript。。。这是我的表格代码Php 带数据库的laravel下拉列表,php,forms,laravel,laravel-4,Php,Forms,Laravel,Laravel 4,我是laravel框架的新手,我发现很难理解laravel表单的可用性。。。。这是我面临的一些问题 首先我的下拉列表应该有我的类别名称,在下拉列表的最后是我的特定下拉列表,添加新类别,当我选择时将触发我的javascript。。。这是我的表格代码 {{ Form::select('kategori',KategoriArtikel::lists('name','id'),Input::old('kategori'),array('class' => 'form-control', 'onC
{{ Form::select('kategori',KategoriArtikel::lists('name','id'),Input::old('kategori'),array('class' => 'form-control', 'onChange' => 'changeFunc(value)')) }}
这将从我的数据库中显示正确的值和正确的选择值,但它缺少我的特定下拉列表,所以我尝试这样添加
<?php
$tambah = array('tambah' => 'Tambah Kategori Baru');
$list = array_merge(KategoriArtikel::lists('name','id'),$tambah);
?>
{{ Form::select('kategori',array(KategoriArtikel::lists('name','id'),$tambah),Input::old('kategori'),array('class' => 'form-control', 'onChange' => 'changeFunc(value)')) }}
正如你所看到的,['kategori']应该使我表中的字段kategori为9,但它不会改变我数据库中的任何内容
我很简单,但在使用数据库时会非常混乱(找不到任何与数据库检索数据等相关的文档示例)
编辑:
这是我的控制器
public function update($id)
{
$artikel = Artikel::findOrFail($id);
if(Input::get('simpan')){
//dd(Input::all());
$validator = Validator::make($data = Input::all(), Artikel::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$judul = Input::get('judul');
$artikel->update($data);
return Redirect::route('admin.artikels.index')->with('message', 'Artikel ' .$judul. ' Telah berhasil di ubah.');
}elseif(Input::get('batal')){
return $this->index();
}
}
这是我的观点
@extends('admin._layouts.admin')
@section('content')
{{ Form::model($artikel, array('route' => array('admin.artikels.update',$artikel->id), 'method' => 'put')) }}
<div class="panel panel-default">
<!--button-->
<div class="panel-heading tooltip-demo">
{{ Form::submit('Simpan',array('class' => 'btn btn-primary', 'data-toggle' => 'tooltip',
'data-placement' => 'top','title' => 'Menyimpan artikel' )) }}
{{ Form::submit('Batal',array('class' => 'btn btn-default', 'data-toggle' => 'tooltip',
'data-placement' => 'top','title' => 'Batal menambah artikel dan kembali ke halaman kelola artikel' )) }}
</div>
<!--/button-->
<div class="panel-body">
<!--judul-->
<div class="col-lg-10">
<div class="form-group">
{{ Form::label('Judul Artikel') }}
{{ Form::text('judul',null,array('class' => 'form-control', 'placeholder' => 'Silahkan masukkan judul artikel'))}}
{{ $errors->first('judul', '<p class="error">:message</p>') }}
</div>
</div>
<!--/judul-->
<!--kategori-->
<div class="col-lg-4">
<div class="form-group">
{{ Form::label('Kategori') }}
<?php
$tambah = array('tambah' => 'Tambah Kategori Baru');
$list = array_merge(KategoriArtikel::lists('name','id'),$tambah);
?>
{{ Form::select('kategori',$list,'Pilih Kategori Artikel',array('class' => 'form-control', 'onChange' => 'changeFunc(value)')) }}
</div>
</div>
<!--/kategori-->
<!--kategori baru-->
<div class="col-lg-4" id="pilihan" style="display:none;">
<div class="form-group">
{{ Form::label('Kategori Baru') }}
{{ Form::text('kategori_baru',null,array('class' => 'form-control', 'placeholder' => 'Silahkan masukkan kategori baru',
'maxlength' => '30'))}}
</div>
</div>
<!--/kategori baru-->
<!--status-->
<div class="col-lg-4">
<div class="form-group">
{{ Form::label('Status') }}
{{ Form::select('status',array('0' => 'Tidak diterbikan', '1' => 'Terbitkan'),null, array('class' => 'form-control')) }}
</div>
</div>
<!--/status-->
<!--artikel pilihan-->
<div class="col-lg-5">
<div class="form-group">
{{ Form::label('Artikel Pilihan') }}
<div class="input-group">
<span class="input-group-addon">
{{ Form::checkbox('pilihan','1',true,array('id' => 'artikelpilihan')) }}
</span>
{{ Form::text('null','Tidak',array('class' => 'form-control', 'id' => 'artikeltext' ,'disabled' => 'true'))}}
</div>
</div>
</div>
<!--/artikel pilihan-->
<!--content-->
<div class="col-lg-12">
{{ Form::label('Isi Artikel') }}
{{ Form::textarea('content',null,array('style' => 'height:300px')) }}
{{ $errors->first('content', '<p class="error">:message</p>') }}
</div>
<!--/content-->
</div>
</div>
{{ Form::close() }}
{{ HTML::script('js/tinymce/tinymce.min.js') }}
<script type="text/javascript">
tinymce.init({
selector: "textarea",
theme: "modern",
skin: 'light',
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor colorpicker textpattern"
],
toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
toolbar2: "print preview media | forecolor backcolor emoticons | fontselect fontsizeselect",
image_advtab: true,
templates: [
{title: 'Test template 1', content: 'Test 1'},
{title: 'Test template 2', content: 'Test 2'}
],
file_browser_callback: RoxyFileBrowser
});
function RoxyFileBrowser(field_name, url, type, win) {
var roxyFileman = '../../../../public/js/tinymce/plugins/fileman/index.html?integration=tinymce4';
if (roxyFileman.indexOf("?") < 0) {
roxyFileman += "?type=" + type;
}
else {
roxyFileman += "&type=" + type;
}
roxyFileman += '&input=' + field_name + '&value=' + document.getElementById(field_name).value;
tinyMCE.activeEditor.windowManager.open({
file: roxyFileman,
title: 'File Manager',
width: 800,
height: 480,
resizable: "yes",
plugins: "media",
inline: "yes",
close_previous: "no"
}, { window: win, input: field_name });
return false;
}
</script>
@stop
@extends('admin.\u layouts.admin'))
@节(“内容”)
{{Form::model($artikel,array('route'=>array('admin.artikels.update',$artikel->id),'method'=>put'))}
{{Form::submit('Simpan',array('class'=>'btn btn primary','data toggle'=>'tooltip',
“数据位置”=>“顶部”、“标题”=>“门尼潘·阿蒂克尔”)}
{{Form::submit('Batal',array('class'=>'btn-btn-default','data-toggle'=>'tooltip',
“数据位置”=>“顶部”、“标题”=>“Batal menambah artikel and kembali ke halaman kelola artikel”)}
{{Form::label('Judul Artikel')}
{{Form::text('judul',null,array('class'=>'Form control','placeholder'=>'Silahkan masukkan judul artikel'))}
{{$errors->first('judul',':message
')}
{{Form::label('Kategori')}
{{Form::select('kategori',$list,'Pilih kategori Artikel',array('class'=>'表单控件','onChange'=>'changeFunc(value)'))}
{{Form::label('Kategori Baru')}
{{Form::text('kategori_baru',null,数组('class'=>'表单控件','placeholder'=>'Silahkan masukkan kategori baru',
'maxlength'=>'30'))}
{{Form::label('Status')}
{Form::select('status',array('0'=>'Tidak-diterbikan','1'=>'Terbitkan'),null,array('class'=>'Form-control'))}
{{Form::label('Artikel Pilihan')}
{{Form::checkbox('pilihan','1',true,array('id'=>'artikelpilihan'))}
{Form::text('null','Tidak',array('class'=>'Form control','id'=>'artikeltext','disabled'=>'true'))}
{{Form::label('Isi Artikel')}
{{Form::textarea('content',null,array('style'=>'height:300px'))}
{{$errors->first('content',':message
)}
{{Form::close()}}
{{HTML::script('js/tinymce/tinymce.min.js')}
tinymce.init({
选择器:“文本区域”,
主题:“现代”,
皮肤:“轻”,
插件:[
“advlist autolink列出链接图像charmap打印预览hr锚定页面中断”,
“searchreplace wordcount visualblocks visualchars代码全屏显示”,
“insertdatetime媒体非中断保存表上下文菜单方向性”,
“表情模板粘贴文本颜色选择器文本模式”
],
工具栏1:“插入文件撤消重做|样式选择|粗体斜体|对齐左对齐中心对齐右对齐对齐对齐|粗体numlist outdent缩进|链接图像”,
工具栏2:“打印预览媒体|前景色背景表情|字体选择字体大小选择”,
图像\u advtab:正确,
模板:[
{标题:'测试模板1',内容:'测试1'},
{标题:'测试模板2',内容:'测试2'}
],
文件\浏览器\回调:RoxyFileBrowser
});
函数RoxyFileBrowser(字段名称、url、类型、win){
var roxyFileman='../../../public/js/tinymce/plugins/fileman/index.html?integration=tinymce4';
如果(roxyFileman.indexOf(“?”)小于0){
roxyFileman+=“?type=“+type;
}
否则{
roxyFileman+=”&type=“+type;
}
roxyFileman+='&input='+field_name+'&value='+document.getElementById(field_name).value;
tinyMCE.activeEditor.windowManager.open({
档案:roxyFileman,
标题:“文件管理器”,
宽度:800,
身高:480,
可调整大小:“是”,
插件:“媒体”,
内联:“是”,
关闭上一个:“否”
},{window:win,输入:field_name});
返回false;
}
@停止
如果我正确理解了您的问题,您希望根据数据库中的值填充一个下拉列表,并希望在“类别”下拉列表中显示“选择类别”。并且当前没有保存您的下拉列表值
要填充下拉列表,请将以下代码放在控制器加载视图文件的方法中
$data['kategori'] = KategoriArtikel::lists('name','id');
$data['kategori'][''] = 'Select a kategori';
return View::make('YOUR_VIEW_FILE', $data);
在视图文件中,简单地使用以下内容(相同的规则适用于其他选择下拉列表):
上面的代码基本上生成如下内容:
<select id="category" class="form-control">
<option value="">Select a Kategori</option>
<option value="1">First Kategori</option>
<option value="2">Second Kategori</option>
</select>
选择一个Kategori
第一卡泰戈里酒店
第二片谷
Form::select()
中的第三个参数需要一个默认选项值,如果您提供一个值,它将进行比较
$data['kategori'] = KategoriArtikel::lists('name','id');
$data['kategori'][''] = 'Select a kategori';
return View::make('YOUR_VIEW_FILE', $data);
{{ Form::select('kategori', $kategori , Input::old('kategori'), array('id' => 'category', 'class' => 'form-control', )) }}
<select id="category" class="form-control">
<option value="">Select a Kategori</option>
<option value="1">First Kategori</option>
<option value="2">Second Kategori</option>
</select>
public function create()
{
$category1= Category1::lists('category1','id');
$category2= Category2::lists('category2','id');
//you can have many select lists in an form
return
View::make('someobject.create',compact('category1','category2'));
}
{{Form::open(array('route'=>'someobject.store'))}}
<div>
{{Form::label('category1', 'category1')}}
{{Form::select('category1',array('' => 'Please select') + $category1) }}
<span class="errors">{{$errors->first('category1')}}</span>
{{Form::label('category2', 'category2')}}
{{Form::select('category2',array('' => 'Please select') + $category2) }}
<span class="errors">{{$errors->first('category2')}}</span>
</div>
<div>
{{Form::submit('Save',array('class' => 'btn'))}}
</div>