我在App文件夹中有一个名为Models的模型文件夹,在此文件夹中我创建了一个UserModel,我的控制器位于App / Http / Controller文件夹名称UserController中。我是laravel的新手,任何人都可以让我知道如何将我的UserModel调用到UserController中,我已经尝试过以下代码。
我的控制器 UserController.php :位于App / Http / Controller文件夹中。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use App\User;
use App\Models;
class UsersController extends Controller {
public function __construct(){
$users = new UserModel();
}
public function index(){
$user_id = $_GET['id'];
$token = $_GET['token'];
$userInfo = $this->users->getUserInformation($user_id);
return view('profile.users')->with('user_details', $userInfo);
}
}
和我的模型: UserModel.php ,它位于App / Models文件夹中。
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class UserModel extends Model
{
public function getUserInformation($id){
return "User id is : ".$id;
}
}
?>
请提出正确的代码,以便我可以继续进行下去。 谢谢你。
答案 0 :(得分:1)
因为$this->users
返回一个集合,所以您将不得不对其进行循环,然后在其中调用模型函数。
foreach($this->users as $user){
$userInfo = $user->getUserInformation($user_id);
}
///
答案 1 :(得分:0)
我认为最好的方法是利用Laravel的依赖注入,并将依赖直接注入控制器方法:
class UsersController extends Controller {
public function index(UserModel $users, Request $request){
//Using the request object is recommended
$user_id = $request->input('id');
$token = $request->input('token');
$userInfo = $users->getUserInformation($user_id);
return view('profile.users')->with('user_details', $userInfo);
}
}
答案 2 :(得分:0)
如果您愿意这样做
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class UserModel extends Model
{
public function getUserInformation(){
return "User id is : ".$this->id;
}
}
?>
在控制器中
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use App\UserModel;
use App\Models;
class UsersController extends Controller {
public function index(){
$user_id = $_GET['id'];
$token = $_GET['token'];
$user = UserModel::find($user_id);
$userInfo = $user->getUserInformation();
return view('profile.users')->with('user_details', $userInfo);
}
}
请尝试让我知道。