gpt4 book ai didi

php - 同一个表单如何向多个表提交数据

转载 作者:行者123 更新时间:2023-11-29 06:38:48 24 4
gpt4 key购买 nike

我有 2 个表:listings 和 listings_specifications

list 表

  • 编号
  • 输入
  • 状态
  • 地点
  • specifications_id

Listings_specifications 表

  • 编号
  • listing_id
  • 游泳池
  • 水井

我需要在添加列表的同一个表单上选择规范(复选框)。我已经创建了所有的表单、 View 、模型和 Controller ,但我认为我有一些逻辑错误。

Listing.php模型

protected $table = 'listings';

public function contact()
{
return $this->BelongsTo('contacts');
}
public function specifications()
{
return $this->BelongsTo('listings_specifications');
}

Specification.php模型

protected $table = 'listings_specifications';

public function listings()
{
return $this->BelongsTo('listings');
}

ListingsController.php(数据保存在数据库中的地方)

$listing = new Listing;
$contact = new Contact;
$listing->status = Input::get('status');
$listing->listingfor = Input::get('listingfor');
$listing->propertystatus = Input::get('propertystatus');
$listing->propertytype = Input::get('propertytype');
$listing->userid = Auth::user()->id;
$listing->location = Input::get('location');
$listing->contact_id = $contact_id;

$listing->save();

$specifications = Specification::find($id);

if( $listings->save() ) {
$specifications = new Specification;
$specifications->listing_id = $id;
$specifications->swimming_pool = Input::get('swimming_pool');
$specifications->water_front = Input::get('water_front');
$specifications->save();
}

我收到这个错误: undefined variable :id

我哪里出错了?

谢谢

最佳答案

看起来你有一些逻辑错误。

首先,您永远不会在任何地方设置$id,但这没关系,因为您确实不需要它。

删除 $specifications = Specification::find($id); 行,因为它没有做任何事情。

然后将您的最后一部分更改为类似这样的内容...

            if( $listings->save() ) {
$specifications = new Specification;
$specifications->swimming_pool = Input::get('swimming_pool');
$specifications->water_front = Input::get('water_front');
$listing->specifications()->save($specifications);
}

$listing->specifications()->save($specifications); 会自动为您保存带有正确 listing_id 的新规范。

将您的Listing 模型的specifications 关系修改为...

public function specifications()
{
return $this->hasMany('Specification');
}

我在这里假设一个列表可以有多个规范。如果没有,您可以轻松地将其更改为 hasOne

关于php - 同一个表单如何向多个表提交数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22846749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com