Laravel:在表格中获得字段的价值

时间:2014-03-25 23:27:59

标签: php laravel laravel-4

我想要做的是从用户表中获取可用的积分,并且'积分'字段并获取foreach循环中当前项目的价格,即正常价格' '项目中的字段'表。

当用户填写他想要投入正常价格的金额时,一件物品,我想减去他的“积分”中的数字。字段,并为'创建一个新变量。这是您将信用额放入其中后的项目的价格'并显示它。

用户表和项目表是多对多关系,我可以通过

显示用户项目
$user->item

我所做的是以下是错误的,因为' normalprice' in' $ item-> normalprice;'不是财产。我试图找出如何使$ itemprice等于' normalprice'在当前的@foreach($ user->项目为$ item)

控制器:

    public function allocateCredit(){
    $validator = Validator::make(Input::all(),
    array(
        'puttoward' =>  'Integer',
    ));
    $user = Auth::user();
    $items  = Item::all();
    $userItems = Auth::user()->items;
    $itemprice = $item->normalprice;
    $available = $user->credits;
    $goodtogo = ($available > $itemprice) ? TRUE : FALSE;
    if($goodtogo === true){
        $howmuch = Input::get('puttoward');
        $newavailable =  $howmuch - $available;
        $itembalance = $itemprice - $howmuch;
        $user->credits = $newavailable;
    }
    if($user->save()){
        return Redirect::route('account')->with('global', 'Success.');
    }
}    

查看:

            @foreach ($user->items as $item)
        <div class="sep">
            <div class="nameIt">
                {{ $item->name }}
                <form action="{{ URL::route('allocate-credits-post') }}" method="post" role="form">
                    <div class="form-group">
                    <label for="exampleInputPassword1">Allocate credits</label>
                    <input type="intiger" class="form-control" name="puttoward" placeholder="$0.00">
                    </div>
                    <button type="submit" class="btn btn-default">Submit</button>
                    {{ Form::token() }}
                </form>

1 个答案:

答案 0 :(得分:0)

由于您使用表单提交来调用Controller,为什么不将$ item-&gt; normalprice填充到表单中作为隐藏类型,如:

<input type="hidden" name="NormalPrice" value="{{$item->normalprice}}">

然后使用输入:: get('NormalPrice')

访问控制器中的值

或者如果出于安全原因不需要,那么您可以填充 $ item-&gt; id ,然后在控制器中找出该ID的价格。