dongrongdao8902 2015-12-09 08:03
浏览 435
已采纳

在laravel模型中设置一个公共变量

Nice Day All,

I'm trying to send a variable to the model to be used in all the function without passing it as a parameter to all function, here is what I have do, but it doesn't work, anyone Can figure out the problem?

 SomethingController.php
   public function store(){
         $user_value = \Request::input('value');  // get value from user
         $somethingObj = new \App\Something(['user_value' => $user_value ]);
         $somethingObj->doSomething();
   }


 Something.php

  public $value;
  public function __constructor($attributes){
      $this->value = $attributes['user_value']; 
  }
  public function doSomething(){
       if($this->value){   
          // this is not working , $value not working also  $this->$value didn't work too
          doSomething();
       }else{
           doOtherThing();
       }
  }
  • 写回答

3条回答 默认 最新

  • dongmu2026 2015-12-09 08:11
    关注

    I think passing a value in constructor doesnt work in case of Models. What you can do instead is to create a setter method.

        function setValue($val){
            $this->value = $value;
        }
    

    Now you can use $this->value to access it in other methods.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?