在Laravel中动态使用模型 [英] Dynamically use model in laravel

查看:612
本文介绍了在Laravel中动态使用模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的laravel项目中,我创建了一个控制器,用于从所有调用同一个控制器的刀片中删除该项目,并传递动态ID和型号名称.但显示未找到类的错误. 例如:找不到用户"类.

In my laravel project I create a controller for delete the item from all the blade call the same controller.With passing dynamic id and model name. but showing an error for class not found. ex: Class 'User' not found.

如何添加使用用户;动态代码在我的控制器中.

How can I add use User; code in my controller dynamically.

namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AjaxController extends Controller
{
    public function deleteItem(Request $req)
    {
        use $req['model'];
        $id = $req['id'];
        $model_name = $req['model'];
        $mdoel_name = $model_name::find($id);
        $mdoel_name->delete();
        sactivity('delete')->performedOn($mdoel_name)->log('');
        return "success";
    }
}

推荐答案

这应该有效:

    $id = $req['id'];
    $model_name = '\\App\\'.$req['model'];
    $model = new $model_name;
    $model_name = $model->find($id);
    $model->delete();
    sactivity('delete')->performedOn($model_name)->log('');
    return "success";

这篇关于在Laravel中动态使用模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆