gpt4 book ai didi

php - Laravel - 使用 bundle 从数据库中检索数据

转载 作者:行者123 更新时间:2023-11-29 06:49:04 24 4
gpt4 key购买 nike

首先,我是 Laravel 和 MVC 环境的新手。对于这个项目,我使用 MySQL 作为数据库,使用 Charisma 作为包。尝试从数据库检索数据时遇到困难。我想知道是否有人会指导我解决所有这些问题。

  1. 如果我使用 bundle ,我应该将所有模型、 Controller 和路由放在哪里?在 /application 文件夹中,还是在包本身的文件夹中?
  2. 什么时候使用 /application 文件夹,什么时候使用 Charisma 文件夹? (显然,我只将它用于前端 UI)
  3. 我的数据库表中有一条记录(名为 user_links),用于测试 Charisma View 中的数据检索。我该怎么做?

我正在使用这个 CRUD Tutorial in Laravel作为指南,但在使用 bundle 时有点困惑。

好吧,让我试着按照我的方式去做。我要在这里做一个检索。我希望有人能指出错误并指导我进行修复。:

名称user_links:

id: int
user_id: varchar
link_title: text
link_url: text

Model /application/models/user_links.php(因为 Charisma 没有 /models 文件夹,我将使用默认一个):

class User_Link extends Eloquent{
}

Controller bundles/charisma/controllers/user_link.php(使用 Charisma Controller 文件夹)

class Charisma_User_Link_Controller extends Base_Controller{

public $restful = true;

public function get_index(){
$user_links = User_Link();
return View::make('user_links.index')
->with('link_title', 'Link Title')
->with('link_url', 'URL');
}
}

查看 /bundles/charisma/views/pages/index.blade.php:

<div >
@foreach($user_link->results as $user_links)
{{ $user_links::link_title }}
{{ $user_links::link_url }}
@endforeach
</div>

路线 /bundles/charisma/routes.php:

Route::controller('charisma::user_link');

就是这样。当然会有一些错误,但如果您需要更多信息,请告诉我。提前致谢。

最佳答案

您应该为前端 UI 使用应用程序文件夹,因为 charisma是一个 admin bundle它专为应用程序而设计,这些应用程序具有后端支持来设置和维护各种系统配置,例如自定义 cms

Laravel-3 中,application 文件夹是将 Controller 、模型和 View 保存在相应文件夹中以及使用 application/routes 的默认位置。 php 用于路由 Controller 。

但是,如果你想使用一个不同的 bundle 作为 charisma 那么你应该将 bundle 保存在 bundle 目录的根目录中,并将 bundle 名称添加到 bundles.php 中的数组中 文件。例如,我在我的一个项目中使用 charisma 作为我的管理面板的一个包,文件夹的名称是 admin 我放置 charisma 的文件(我将魅力重命名为管理员)

return array(
'admin' => array('handles' => 'hit_admin'), <-- added for admin bundle
// more bundles..........
);

我的目录结构是 domain_root/bundles/admin 而 admin 是 charisma(重命名)而且你还必须使用你的包 routes.php 该 bundle 的 Controller 。例如,在 domain_root/bundles/admin 中,我有一个 routes.php 文件,我已经在该文件中注册了 admin bundle 的所有路由,而 admin bundle 有它自己的 Controller 、 View 、模型和公共(public)文件夹。所以,基本上,我不得不使用那些文件夹。所有管理 Controller 都在 domain_root/bundles/admin/controllers 文件夹中,模型和 View 也是如此。每个 bundle 也有自己的公共(public)文件夹来保存自己的 Assets 。

admin/routes.php 中,路由是这样的

Route::any('(:bundle)', array('as' => 'admin_home', 'uses' => 'admin::home@index'));

此外,admin bundle 中的每个 Controller 都可以扩展它自己的基本 Controller ,例如,我使用过,

class Admin_Home_Controller extends Admin_Base_Controller {
// ...
}

admin/controllers 文件夹中有一个 base.php 文件,它是管理基础 Controller ,它是这样的

class Admin_Base_Controller extends Controller {

public function __construct()
{
parent::__construct();

// Add assets for admin
Asset::add('jQuery', 'js/jquery-1.7.2.min.js');
}

public function __call($method, $parameters)
{
return Response::error('404');
}

}

有关更多信息,您可以查看 this tutorial并阅读 documentation也是。

关于php - Laravel - 使用 bundle 从数据库中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com