关于laravel表单计算

时间:2016-04-07 01:56:18

标签: php laravel

我在Laravel中遇到过计算,或者也许是PHP的东西,我想请求解决方案或者其他一些方法来完成工作。

这些是模型中的代码

public function getRedeemCount($member_id){
    $count = DB::table('stamps')->where('user_id', '=', $member_id)->select('stamp_counter')->first();
    return $count;
}
public function getFreeOfferCount($member_id){
    $free_offer_count = DB::table('stamps')->where('user_id', '=', $member_id)->select('free_offer_counter')->first();
    return $free_offer_count;
}

这些是控制器中的代码

public function redeemFreeOffer(Request $request)
{
    $free_offer_counter = $request->input('minus_free_offer_counter');
    $member_id = $request->input('sub_id');
    $total_stamp_count = $this->userModel->getRedeemCount($member_id);
    $free_offer_count = $this->userModel->getFreeOfferCount($member_id);

    if(!$free_offer_count){
        $insert_arr = array(
            'user_id' => $member_id,
            'free_offer_counter' => $free_offer_counter,
            'created_at'=>date("Y-m-d H:i:s")
        );

        $stamps = DB::table('stamps')->insert($insert_arr);
        if($stamps){
            $arr = array('status' => 1,'message'=>'success','value'=>$free_offer_counter);
        }
    }

    else {

        $total_stamp_count->stamp_counter;
        $total_free_offer_count = floor($total_stamp_count->stamp_counter/10);
        $current_offer_count = $free_offer_count->free_offer_counter - $free_offer_counter;

        $update_arr = array(
            'free_offer_counter' => $current_offer_count,
            'updated_at' => date("Y-m-d H:i:s")
        );

        $stamps = DB::table('stamps')->where('user_id', $member_id)->update($update_arr);
        if ($stamps) {
            $arr = array('status' => 1, 'message' => 'success', 'value' => $current_offer_count);
        }

    }
    echo json_encode($arr);
}

由于我使用的是jQuery AJAX,所以代码太多了,但我认为现在它应该是足够的信息。如果不足,我将来会提供更多。

问题是如何将$total_free_offer_count注入$current_offer_count?我没有存储$total_free_offer_count的任何列。

$total_stamp_count->stamp_counter;
$total_free_offer_count = floor($total_stamp_count->stamp_counter/10);
$current_offer_count = $free_offer_count->free_offer_counter - $free_offer_counter;

0 个答案:

没有答案