Php 将隐藏值与复选框一起传递

Php 将隐藏值与复选框一起传递,php,html,laravel,Php,Html,Laravel,我有一个表单,其中我有与一个项目相关的产品id和活动id。我只想显示一个复选框,但同时传递productID和campaignID {!! Form::open(['url' => 'filter', 'method' => 'POST']) !!} @foreach ( $row as $id ) <input type="checkbox" name="products[]" value="{{ $id->$productID }}">

我有一个表单,其中我有与一个项目相关的产品id和活动id。我只想显示一个复选框,但同时传递productID和campaignID

{!! Form::open(['url' => 'filter', 'method' => 'POST']) !!}
    @foreach ( $row as $id )
        <input type="checkbox" name="products[]" value="{{ $id->$productID }}">
        <input type="hidden" name="campaignID[]" value="{{ $id->$campaignID }}">
        <input type="submit">
    @endforeach
{!! Form::close() !!}
{!!Form::open(['url'=>'filter','method'=>'POST'])
@foreach($id作为行)
@endforeach
{!!Form::close()!!}
现在,当我选中一个复选框时,它会传递正确的productID,但也会传递所有CampaInGid。 有可能这样做吗

编辑

例如:

  • 项目A-产品ID:1,活动ID:100
  • B项-产品编号:2,活动编号:200
  • C项-产品编号:3,活动编号:300

当我选择项目A时,我得到productID 1,但对于活动id,我得到100、200、300。

在这种情况下,似乎最好只传递产品id并从相关产品模型中检索营地

i、 像这样

叶片模板

{!! Form::open(['url' => 'filter', 'method' => 'POST']) !!}
    @foreach ( $row as $id )
        <input type="checkbox" name="products[]" value="{{ $id->$productID }}">
        <input type="submit">
    @endforeach
{!! Form::close() !!}

从上面的代码中,您只需要使用name属性从表单提交到的任何脚本中获取值。。或者我遗漏了什么?当我执行
Input::get('products')
Input::get('activitid')
时,我得到了产品的正确值,但也得到了所有的activitid,而不仅仅是我选择的那个。活动ID与productID等每个项目都相关。如果不想在服务器端处理数组,那么代码中可能需要一些javascript,创建第三个类型为hidden的输入字段,并将其命名为selectedid或其他名称。在onchange中,您可以用新选择的值填充它的值,但在这种情况下,我需要在服务器端使用一个循环来提取活动ID?这可以在客户端完成吗?因为我正在接收带有组合产品和活动ID的阵列。该数组是
$row
。如果在服务器上创建关系,则可以确保没有人向您发送错误的数据(即不存在的产品活动组合)。如果必须在服务器上验证,则不会保存任何内容。除此之外,还可以节省一些通信量,并拥有更小的requestsOk。但是如何传递产品ID数组呢。我需要有多个选择的选项。那我怎么做
Product::find($Product\u id)
?它只会找到最后一个选择的数据…我不理解你的问题
$product_id
应该是一个id(而不是数组),通常一个id在数据库中是唯一的-所以你永远不会得到超过返回值的值?如果您传递
::查找
一个id数组,您将得到一个可以迭代的所有匹配记录的集合
$product_id = ...
$product = Product::find($product_id);
$campaign_id = $product->campaignId;