1

我正在尝试为发生事件构建一个表格。Happening 通过 引用 Places 表place_id

例如,发生的“OktoberFest”有一个 place_id 123,对应于表 Places to München

这些是模型中声明的关系:

对于模型地点:

public function happenings()
{
    return $this->hasMany('Happening');
}

对于模型发生:

public function place()
{
return $this->belongsTo('Place');
}

model Happening 有一个 place_id 字段将其链接到 Place。

我也{{Form::model($happening, array('route' => array('happenings.update', $happening->id)...}}用作表单打开

问题 1:如何{{Form::text('......')}}在编辑正在发生的慕尼黑啤酒节时创建一个将正确预填充 München 的内容?

问题2:我试图让该字段作为ajax autosuggest 工作(即一旦输入3 个字符就开始从Places 表中提取建议)。我检查了一些实现,但它们似乎与问题 1没有正确混合

为了尝试解决问题 1,我在这里尝试了解决方案 Laravel 4 Form builder Custom Fields Macro

但我无法让它工作。

很长的问题,这是我的第一个堆栈溢出问题,请耐心等待:)

4

1 回答 1

1

如果 Happening 通过列“place_id”链接到 Place,您必须提供一个 id 以保存在您的模型/表格中。我可以想到几种方法:

  • 在 select 的收音机中列出可用的 Places,名称将是“place_id”,值是 Place 的 id,类似于值的标题。

  • 如果您有很多地方,而不是显示收音机或选择具有自动完成功能的文本字段是一个很好的解决方案。我不会详细介绍如何实现它,但总体思路是自动完成键入的地名并在选择该地点时将该地点的 ID 放在名为“placed_id”的隐藏字段中

保存表单后,使用发布的 place_id 保存您的模型(并检查该 id 是否有效且存在,切勿信任用户输入)

于 2013-06-20T11:21:42.940 回答