jjzjj

php - 将模型名称作为函数中的参数传递并使用其方法,如 "$this-> $model_name->method()"codeigniter

coder 2024-05-03 原文

我如何创建一个方法来用特定模型填充读取特定表格的下拉列表,然后获取该表格的特定列来填充下拉列表?

例如,如果我有一个模范人物 我有

function get_all_id($id,$table) {
    $this->db->from($table);
    $this->db->order_by($id, "asc");
    $q = $this->db->get();
    return $q;
}

然后,如果我需要填写一个带有姓氏字段的下拉列表...我会将其用作

$this->load->model('person_model');
$row = $this->person_model->get_all_id('id_person','tbl_person');
foreach ($row->result() as $val) 
$result .= "<option value='". $val->last_name."'>".$val->last_name."</option> \n" ;

然后我只是在 View 中回应。

我如何做一个接收模型名称table_name 和我需要的特定字段作为参数的函数? 喜欢

function fill_dropdown($model_name, $id, $table_name, $field){
    $this->load->model($model_name);
    $row = $this->  $model_name  ->get_all_id($id,$table_name);
    foreach ($row->result() as $val) 
    return "<option value='". $val->$field."'>".$val->$field."</option> \n" ;

}

因为这是不允许的:$row = $this-> $model_name

最佳答案

加载模型时,您可以为其分配一个通用名称,然后您可以使用该名称在代码中引用该模型。

function fill_dropdown($model_name, $id, $table_name, $field){
    $this->load->model($model_name, 'myModel');
    $row = $this->myModel->get_all_id($id,$table_name);
    foreach ($row->result() as $val) 
    return "<option value='". $val->$field."'>".$val->$field."</option> \n" ;

}

参见 Loading a Model 的“user guide”部分.

关于php - 将模型名称作为函数中的参数传递并使用其方法,如 "$this-> $model_name->method()"codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17731007/

有关php - 将模型名称作为函数中的参数传递并使用其方法,如 "$this-> $model_name->method()"codeigniter的更多相关文章

  1. c# - 如何创建具有多个参数的 SqlParameterCollection? - 2

    我正在尝试创建一个SqlParameterCollection,但在sp.Add()方法中添加一些SqlParameter时出错。请帮助我如何添加参数以及如何将它传递给我的另一个函数,我在其中声明了一个SqlConnection和SqlCommand。SqlParameterCollectionsp=null;sp.Add(newSqlParameter("@CmpyCode",SqlDbType.NVarChar)).Value=CV.Global.CMPYCODE;sp.Add(newSqlParameter("@Code",SqlDbType.NV

  2. c# - Visual Studio 2017 错误——无法连接到运行时进程 - 2

    每当我尝试从visualstudio调试我的项目时,我都会收到此错误。我尝试将这些设置添加到launchSettings.json但仍然没有区别。"protocol":"legacy","runtimeArgs":["--debug=5858"],"restart":true,"port":5858,我在这里做错了什么。有什么解决这个问题的建议吗? 最佳答案 我曾经收到过类似的错误。每次我尝试调试进程都崩溃,这与javascript调试有

  3. c# - MVC 6 多个获取方法 - 2

    我正在尝试为每个Controller支持多个Get()方法,以及仅通过webapi访问的特别命名的方法。我已经在MVC5中完成了此操作,但似乎无法弄清楚它是如何在MVC6中完成的。有什么想法吗?谢谢。 最佳答案 不能有多个具有相同url模式的Get方法。您可以使用属性路由并为不同的url模式设置多个GET方法。[Route("api/[controller]")]publicclassIssuesController:Controller{//GET:api/Issues[HttpGet]publicIEnumera

  4. c# - ASP.NET MVC 4,EF5,模型中的唯一属性 - 最佳实践? - 2

    ASP.NETMVC4、EF5、代码优先、SQLServer2012Express在模型中实现唯一值的最佳做法是什么?我有一个places类,它有一个“url”属性,每个地方都应该是唯一的。publicclassPlace{[ScaffoldColumn(false)]publicvirtualintPlaceID{get;set;}[DisplayName("DateAdded")]publicvirtualDateTimeDateAdded{get;set;}[Required(ErrorMessage="PlaceNameisrequired")]

  5. c# - 什么是 "rooted reference"? - 2

    引自Ericlippert的(SafeinC#notinC++,simplereturnofpointer/reference,answer3)。Also,notethatitisnotanyreferencetothePersonobjectthatkeepsitalive.Thereferencehastoberooted.YoucouldhavetwoPersonobjectsthatreferenceeachotherbutareotherwiseunreachable;thefactthateachhasareferencedoesnotkeepthemalive;oneof

  6. c# - IEnumerable 是否需要使用 foreach 循环? - 2

    这个问题在这里已经有了答案:DoesClassneedtoimplementIEnumerabletouseForeach(11个答案)关闭9年前。我想知道,我到底什么时候可以使用foreach循环?我必须实现IEnumerable吗?

  7. c# - ffmpeg可以烧录时间码吗? - 2

    我需要将时间码刻录到视频中,想知道ffmpeg是否能够做到这一点? 最佳答案 FFMPEG的drawtext过滤器适用于我,您可以指定起始时间码及其格式:-vfdrawtext="fontsize=15:fontfile=/Library/Fonts/DroidSansMono.ttf:\timecode='00\:00\:00\:00':rate=25:text='TCR\:':fontsize=72:fontcolor='white':\boxcolor=0x000000A

  8. c# - 检查 System.Type 是否是给定类的后代的最佳方法 - 2

    考虑以下代码:publicclassA{}publicclassB:A{}publicclassC:B{}classD{publicstaticboolIsDescendantOf(thisSystem.TypethisType,System.TypethatType){///???}voidMain(){AcValue=newC();C.GetType().IsDescendantOf(cValue.GetType());}}实现IsDescendantOf的最佳方法是什么? 最佳答案 Type.IsSubclassOf()判断当

  9. C# 在使用反射时确定一个 Nullable 属性 DateTime 类型 - 2

    我有一个关于如何确定对象的Nullable属性类型的问题。ObjectA有一个属性DateTime?创建日期;当我像下面的代码一样遍历其属性时,如何检查属性是否为NullableDateTime类型?foreach(PropertyInfopiinObjectA.GetType().GetProperties()){//dothecomparehere} 最佳答案 pi.PropertyType==typeof(DateTime?) 关于C#在使用反射时确定一个Nullable属性Dat

  10. c# - 以样式更改按钮的内容? - 2

    我正在尝试做类似的事情:<Windowx:Class="WpfApplication1.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid><Button><Button.Style><StyleTargetType="{x:TypeButton}">

随机推荐

  1. c# - WPF - 将 List<T> 绑定(bind)为 WrapPanel 的内容 - 2

    是否可以将WrapPanel的内容(子项)绑定(bind)到依赖属性?我在想的是拥有一个List类型的依赖属性,然后为MyClass定义一个模板。然后让WrapPanel显示它们。我知道使用列表框更容易做到这一点,但由于其他限制,我需要在转到列表框之前尝试使用WrapPanel。我正在使用MVVM。我更喜欢以那种模式这样做。如果我要脱离MVVM,我可以只使用一个事件或命名它并在加载时填充它。我希望有一种更简洁的绑定(bind)方式。 最佳答案 ItemsControl是你的friend:<ItemsControlItemsSo

  2. c# - 检查 System.Type 是否是给定类的后代的最佳方法 - 2

    考虑以下代码:publicclassA{}publicclassB:A{}publicclassC:B{}classD{publicstaticboolIsDescendantOf(thisSystem.TypethisType,System.TypethatType){///???}voidMain(){AcValue=newC();C.GetType().IsDescendantOf(cValue.GetType());}}实现IsDescendantOf的最佳方法是什么? 最佳答案 Type.IsSubclassOf()判断当

  3. C# 在使用反射时确定一个 Nullable 属性 DateTime 类型 - 2

    我有一个关于如何确定对象的Nullable属性类型的问题。ObjectA有一个属性DateTime?创建日期;当我像下面的代码一样遍历其属性时,如何检查属性是否为NullableDateTime类型?foreach(PropertyInfopiinObjectA.GetType().GetProperties()){//dothecomparehere} 最佳答案 pi.PropertyType==typeof(DateTime?) 关于C#在使用反射时确定一个Nullable属性Dat

  4. c# - 以样式更改按钮的内容? - 2

    我正在尝试做类似的事情:<Windowx:Class="WpfApplication1.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid><Button><Button.Style><StyleTargetType="{x:TypeButton}">

  5. c# - 是否有为 using 语句实现 IDisposable 的公共(public)对象列表? - 2

    我想知道是否有某种备忘单可以让对象与using语句配合得很好...SQLConnection、MemoryStream等更进一步,如果能展示其他“拼图碎片”就更好了,比如您应该如何在using语句括号结束之前实际调用connection.Close()。有这样的东西吗?如果没有,也许我们应该做一个。 最佳答案 也许可以浏览一下我在http://www.lancemay.com/2010/01/idisposable-cheat-sheet/上的帖子.不确定这是否是您要查找的内容,但根据最初的问题,听起来可能是。

  6. c# - 关键字 'event' 在 C# 中是可选的吗? - 2

    eventOne(带关键字“event”)和eventTwo(不带关键字)有什么区别?classProgram{publiceventEventHandlereventOne;publicEventHandlereventTwo;publicvoidRaiseOne(){if(eventOne!=null)eventOne(this,EventArgs.Empty);}publicvoidRaiseTwo(){if(eventTwo!=null)eventTwo(this,EventArgs.Empty);}staticvoidMain(string[]args){varp=newPr

  7. c# - 如何在 C# 中从字符串创建泛型类? - 2

    这个问题在这里已经有了答案:Convertingastringtoaclassname(2个答案)关闭9年前。我有一个像这样的通用类:publicclassRepository<T>{...}我需要用一个字符串来实例化它...示例:string_sample="TypeRepository";var_rep=newRepository<sample>();我该怎么做?这可能吗?谢谢!

  8. c# - ICollection<string> 到 string[] - 2

    我有一个ICollection<string>类型的对象.转换为string[]的最佳方式是什么?.如何在.NET2中完成此操作?如何在更高版本的C#中更清晰地完成此操作,或许在C#3中使用LINQ? 最佳答案 您可以使用以下代码片段将其转换为普通数组:string[]array=newstring[collection.Count];collection.CopyTo(array,0);这应该可以完成工作:) 关于c#-ICollection<string>到s

  9. c# - 启动时将程序放入系统托盘 - 2

    我遵循了将应用程序减少到系统托盘的常用链接提示:http://www.developer.com/net/csharp/article.php/3336751现在它可以工作了,但是仍然有一个问题:我的应用程序在启动时显示;我希望它直接在系统托盘中启动。我试图将它最小化并隐藏在Load事件中,但它什么也没做。编辑:我可以像发帖人建议的那样修改快捷方式属性,但我宁愿使用代码:我无法完全控制安装该软件的每台计算机。我不想从系统托盘以外的任何地方完全删除它,我只想让它开始最小化。有什么想法吗?谢谢 最佳答案 在你的主程序中你可能有这样一行:

  10. c# - 为什么我应该同时进行单元测试和 Web 测试(而不仅仅是 Web 测试)? - 2

    我目前的立场是:如果我使用web测试(在我的例子中可能是通过VS.NET'08测试工具和WatiN)以及代码覆盖率和广泛的数据来彻底测试我的ASP.NET应用程序,我应该不需要编写单独的单元测试,因为我的代码将通过所有层与UI一起进行测试。代码覆盖率将确保我触及每个功能代码段(或揭示未使用的代码),并且我可以提供涵盖所有合理预期条件的数据。但是,如果您有不同的意见,我想知道:单元测试的额外好处是证明将其包含在项目中的努力是合理的(请记住,无论如何我都在进行网络测试,所以在很多情况下,单元测试将覆盖网络测试已经覆盖的代码)。你能用具体的例子详细解释你的理由吗?我经常看到诸如“这不是它的本