如何在Codeigniter 4中的单个控制器中访问两个不同的模型



我是Codeigniter 4的新手和初学者,所以我要问这个问题。

事实上,我有两种不同的型号。

首先是tbl_user

在许多字段tbl_user(id、name、duty_station、registration_date、dob(//中,id是主键。

其次是usermos

usermos有四个字段[id、user_id、mos_id、additional_mos_id]//其中id是主键,user_id是tbl_user 的外键

我已经生成了get_profile的控制器。。。

我想将usermos模型访问到get_profile控制器中。

以下是我的代码

标头

<?php namespace AppControllers;
use CodeIgniterRESTfulResourceController;
use AppModelsMosModel;
use AppModelsAdditional_mosModel;
use AppModelsApi_auth_model;
use AppModelsApi_Usermos_Model;

控制器

public function get_profile()
{

if (($this->request->getMethod() == 'post') && ($_SERVER['PHP_AUTH_USER'] == AUTHUSER_NAME) && ($_SERVER['PHP_AUTH_PW'] == AUTH_PASSWORD)) {
if(!empty($this->request->getPost('id'))){
$user_api_mos_model = new Api_Usermos_Model();
$usermos = $this->user_api_mos_model->findAll();
print_r($usermos);
exit;
if($profile){
if($usermos){

}
$selected_mos = $this->getMosFromID($usermos[0]['mos_id']);

$selected_add_mos = $this->getAdd_MosFromID($usermos[0]['additional_mos_id']);
$profile['badge'] = $this->getBadgeFromID($profile['badge_id']);
// exit;
return $this->respond([
"status" => "Success",
"message" => "Profile found.",
"Common" => ["Title" => "Load Profile API", 'version' => '1.0', 'Description' => 'Load Profile API', 'Method' => 'POST'],
"Response" => ["Userdata" => $profile,"mos" => $selected_mos,"additonal_mos" => $selected_add_mos]
]);
}else{
return $this->respond([
"status" => "Fail",
"message" => "Profile Not found.",
"Common" => ["Title" => "Load Profile API", 'version' => '1.0', 'Description' => 'Load Profile API', 'Method' => 'POST'],
"Response" => ["Value" => 'Profile Not found.']
]);
}
}
}
}

谢谢你抽出宝贵的时间。

只需在控制器页面标题部分的顶部定义模型的名称空间,并在该控制器页面中使用。例如:

<?php namespace AppControllers;

use  appmodelsUser;
use appmodelsUsermos;
Class UserController extend controller {
public function actionProfile (){
$user = new User();
$user_mos = new Usermos();
}
}

相关内容

  • 没有找到相关文章

最新更新