布尔值未设置为true

时间:2018-07-31 10:55:32

标签: php laravel-5

有两个表“ Stock”和“ Soldstock”。

表库存包含所有已添加的库存。我正在尝试将出售的库存添加到SoldStock表中。库存表如下所示:

Schema::create('stocks', function (Blueprint $table) {            

  $table->increments('tag_no');   
  $table->boolean('sold')->default(0);           
  $table->integer('user_id')->unsigned();
  $table->foreign('user_id')->references('id')->on('users');
  $table->timestamps();            
});

因此,当我将库存添加到SoldStock表中时,.im试图查找带有该tag_no的库存并将其已出售布尔值更改为true。 但是它不起作用! 下面是存储功能。

public function store(Request $request)
{

        if(Auth::check()){
            if (SoldStock::where('tag_no','=',$request->input('tag_no'))->exists()) { 
                return back()->withInput()->with('errors', 'Tag number already entered!');                
                }      

            $soldstock = SoldStock::create([
                'tag_no' => $request->input('tag_no'),                
                'user_id' => Auth::user()->id
            ]);               

            $stock = Stock::where('tag_no','=',$request->input('tag_no'))->first();            
            if($stock){
                $stock->sold=1;        
                error_log($sell->sold);                           
                return redirect()->route('soldstock.index', ['stocks'=> $soldstock->tag_no])
                ->with('success' , 'Stock added successfully');
            }                
        }        
        return back()->withInput()->with('errors', 'Error adding Stock');     
    }

我用它来查找库存:

$stock = Stock::where('tag_no','=',$request->input('tag_no'))->first();

并将其出售的布尔值更改为true,我使用以下方法:

$stock->sold=1; 

但是它不起作用。

2 个答案:

答案 0 :(得分:1)

您必须保存修改后的模型。

在销售状态更改后添加$stock->save();

答案 1 :(得分:1)

设置销售字段后,您不会保存记录

$stock->sold=1; 
$stock->save();

或使用更新:

$stock->update(['sold', 1]);