[英]laravel passing value from controller to model
我有一個基本控制器,它根據每個請求的域名獲取某些默認屬性。 這些包括app_id
和language_id
。
在我的模型中設置這些值的推薦方法是什么,例如,如果我嘗試創建一個新的Post
模型,它將通過我的 base_controller.h 中定義的值設置app_id
和language_id
。
親切的問候任何回應。
您可以使用會話來存儲您的 app_id 和 language_id,並在需要時從會話中獲取它。
您可以按照評論中的建議使用__consruct
方法。
這是另一種選擇:-
你的控制器.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\YourModel;
class YourController extends Controller
{
public function callModelStaticMethod()
{
$data = ['appId'=>4, 'languageId'=>5];
YourModel::passDataToModelMethod($data);
}
}
你的模型.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
public static function passDataToModelMethod($data)
{
var_dump($data);
// Write your business logic here.
// $newObj = new self;
// $newObj->app_id = $data['app_id'];
// $newObj->language_id = $data['languageId'];
// $newObj->save();
}
}
@ravi ...只是對您的代碼進行了一些更正。 你不能直接從模型調用你的方法。
YourModel::passDataToModelMethod($data);
以上不起作用,您需要執行以下操作
$insertData=new YourModel();
$insertData->passDataToModelMethod($data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.