问题标签 [laravel-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 工匠:找不到驱动程序
我正在使用 Laravel 最新版本:3.2.1。
当我在终端上运行它时:
php artisan migration:install
我有这个错误:
could not find driver
我在谷歌和 Laravel 的论坛上进行了一些搜索,没有。
编辑
我已经激活了扩展,这就是我所拥有的。phpinfo()
--with-iconv' '--with-pdo-mysql=mysqlnd' '--with-pdo-pgsql=/opt/lampp/postgresql' '--with-pdo
看起来我的 pdo 已经设置好了。
这是我的图像phpinfo()
编辑 2 我做了一个小测试:
和回报:
所以我的 PDO 运行良好
php - 在命令行上运行 Artisan (Laravel) 时出现致命错误
我在(很棒的)Laravel PHP 框架上使用 artisan 时遇到了一个致命错误。
我最近下载了 Laravel v3.2.1,并尝试从 artisan 所在的目录中运行以下命令行:
这应该在我的 applications/application.php 文件中为我创建一个随机密钥。(有关此命令的具体参考,请参阅http://laravel.com/docs/artisan/commands 。)
但是,当我从 shell 运行此命令时,我收到以下错误:
这是paths.php第62行的内容:
这是 core.php 第 1 行的内容:
我的问题是:是否有任何特定的环境、目录或其他权限我应该修改以使 artisan 启动并运行。
一点背景:
- 我昨天第一次安装了 Laravel 3.2.1
- 我可以在我的系统上成功运行一个简单的 Web 应用程序(即我可以将请求路由到控制器并正确加载相关联的刀片)
- 我只是从 GitHub 下载了 Laravel 3.2.1 (laravel-laravel-v3.2.1-8-gaae8b62.zip) 并将其提取到我的服务器上
我的环境:
- Dreamhost 共享主机上的 PHP 5.3.13
- FireSSH 运行命令
我的根目录:(括号中的权限)
- /申请 (775)
- /捆绑 (775)
- /laravel (775)
- /公共 (775)
- /存储 (775)
- /工匠 (664)
- /paths.php (777)
请让我知道是否有任何其他有关我的设置的详细信息。我真的不确定什么有助于解决此问题。
--
更新:我还将这个问题发布到 Laravel 的 GitHub 问题跟踪器。(https://github.com/laravel/laravel/issues/820)
php - Laravel 模型渴望加载和订购
我是 Laravel 的新手,我认为购买 Dayle Rees 的 Codehappy 电子书很酷。
我刚刚完成了博客教程,并思考了一下他是如何从 Post 模型中检索帖子的。来自 .net (ASP.NET MVC) 背景,我认为在急切加载作者的同时订购帖子很重要。
他渴望像这样加载模型。
我的问题是在哪里可以使用“order_by”子句?order_by 本身在我使用时起作用:
问候乌鸦
php - 无法让 Eloquent 自动创建连接
如果我的问题的答案很明显,请提前道歉。在我将它发布到这里之前,我已经对这个主题进行了尽职调查。
我的大部分框架经验都来自使用 CodeIgniter,所以我从来没有使用过 ORM 的实践经验。(CI 确实有一些现成的 ORM 解决方案,但我从未使用过它们。)
我想在 Laravel 的 Eloquent ORM 中使用内置的 ORM 功能,在运行查询时自动将锦标赛和国家/地区表连接在一起,并返回包含锦标赛数据及其相关国家/地区数据的数据集。
也就是说,我希望 Eloquent 自动识别外键关系,这样我就可以运行一个查询(例如 Tournament:: with('Country')->all()),它将返回整个锦标赛和国家数据集。
如果我以从未打算使用的方式使用 Eloquent,请立即阻止我!我的困惑可能更多是因为我试图将一个站不住脚的解决方案混在一起,而不是语法或编码错误。
我想在 Eloquent 中复制的查询
PHP 中的预期结果
我希望收到一个 Tournament 对象数组(在 PHP 中),其中单个 Tournament 对象看起来像:
- 比赛.id
- 比赛年
- 锦标赛.country_id
- 锦标赛.created_at
- 锦标赛.updated_at
- 国家.id
- 国家代码
- 国家名称
- 国家.url
- country.created_at
- country.updated_at
迄今为止我所做的失败尝试
我在一个虚拟控制器方法中运行了所有这些尝试,并将结果作为格式化字符串输出到分析器。
失败的尝试#1:
虚拟控制器中的 PHP 代码:
生成以下查询:
尝试 #1 返回:
包含锦标赛对象的数组,这些对象仅包含锦标赛表中的列。
失败的尝试 #2
虚拟控制器中的 PHP 代码:
生成以下错误:
其他失败的尝试
我尝试了各种命名约定的组合(例如列、表等),但均无济于事。我还尝试在 Fluent 中创建查询,效果很好,但要求我指定我想要避免的连接。
我的环境
- PHP: 5.3.13
- MySQL:5.1.53
- 拉拉维尔:3.2.3
表之间的关系
- 一对一的关系
- 锦标赛必须有一个国家(有一个外键约束来执行它)
- 一个国家可以属于许多其他关系(例如,参与者,此处未显示,具有出生国家)
国家表
比赛桌
国家模型 (countries.php)
锦标赛模型 (tournaments.php)
php - 我的路线返回 404,我该如何修复它们?
我刚刚开始学习 Laravel 框架,但遇到了路由问题。
唯一有效的路由是附加到 Laravel 开箱即用的默认主路由。
我在 Windows 上使用 WAMP,它使用 PHP 5.4.3 和 Apache 2.2.22,我还启用了 mod_rewrite,并从 application.php 配置文件中删除了“index.php”以留下一个空字符串。
我创建了一个名为User的新控制器:
我在 application/views/user/ 中创建了一个名为index.php的视图文件,其中包含一些基本的 HTML 代码,在 routes.php 中我添加了以下内容:
在我的网络浏览器中访问根目录 ( http://localhost/mysite/public
) 时,第一条路线工作正常,但是当我尝试使用第二条路线时,http://localhost/mysite/public/user
我收到 404 Not Found 错误。为什么会发生这种情况?
php - PHP Laravel 路由问题
我的设置目前看起来像这样
应用程序/控制器/register.php
路由.php
mydomain.com 有效。
mydomain.com/index 给出了 laravel 404
mydomain.com/register 给出标准 404
奇怪的是 mydomain.com/register 不应该给我一个 laravel 404 错误吗? 此页面表明 WAMP 是原因,但我的设置是在运行 PHP5、Apache2 和 mySQL 的 Ubuntu VM 上。
php - Laravel (Eloquent) 不更新数据库
有一个大问题,令人困惑。我正在使用 Laravel(3.2.5 和现在的 3.2.7)并且我正在使用 Eloquent ORM 来更新数据库(PostgreSQL)。
这就是我正在做的事情:
- 我有一个充满数据的数据库
- 我正在从外部 API 中提取信息以更新我的数据库中的数据
- 我运行一个脚本,将充满数据的数据库放入数组中,并且与 API 相同。这得到了比较
- 我用一个充满变化的数组填充一个数据对象
- 我“保存”它
- 什么都没发生 -。-
我使用了一些日志记录和调试工具栏来确定发生了 wtf。这是信息:
- 所有 SQL 查询都会运行以更新正确的信息。当通过 phpPgAdmin 运行查询时,它会按应有的方式更新。这里的问题是查询更新了行中的每一列,而不仅仅是更改。使用“更新”而不是“填充/保存”会产生同样的问题。
- 永远不会更新任何表信息。
- 第一个日志显示 link_text 不相等。这没关系,因为它表明 link_text 需要更新。但是,它清楚地表明下次我运行脚本时没有更新任何内容。日志每次都显示相同的信息,并且发生的日志事件也一样多。
- 第二个日志显示整个对象是脏的,而不仅仅是应该更新的。这就是 SQL 更新的原因
- 第三个日志准确地吐出应该更新的内容。最多 3-5 列,仅此而已。一切都是正确的格式。
知道为什么,首先,即使 Laravel 将 SQL 标记为正在运行并显示正确的查询,数据库也没有得到更新?
另外,知道为什么 ENTIRE 对象是脏的并且查询尝试更新整个对象(23 列以上)而不是只更新更改(3-5 列)吗?
php - Laravel 中的模板
我正在尝试让我的默认模板与 Laravel 一起使用。我来自 Codeigniter 和 Phil Sturgeon 的模板系统,所以我试图以类似的方式来做。任何人都可以帮助我解决我错过的/做错的事情吗?谢谢!
pdo - 在本地工作,无法在 Laravel 中连接到远程数据库
我正在尝试在 Laravel 本地工作,但无法连接到远程数据库。我使用我的域名 (domain.org) 作为我的主机,然后像往常一样使用密码、用户名和数据库名称。但我得到这个错误:
如果我查看发生错误的文件,它在我的 MySQL 驱动程序中的 PDO 连接中。我向我的 ISP 询问设置,他说使用 domain.org 或 IP。我都试过了,我仍然得到错误。我尝试将端口设置为标准 3306,但仍然出现错误。我不能使用 localhost 作为我的主机,因为它会引用我的本地计算机。有人可以帮忙吗?我需要做什么才能连接?
php - Laravel eloquent - One to many relationships
I have just got started with laravel v3 and am trying to wrap my head around eloquent's One-To-Many relationships by creating a blog, I have posts that have a many to one relationship with categories (Each Post is linked to a category).
I have the following tables with the following fields:
posts: id, title, body, date_created, category_id
categories: id, name
I have the following two models:
I figured out how to get all posts by passing in a category id:
I just need help on finding out how to get all posts, and get their corrisponding categories. So at the end of the day in the view I can output something like this:
Thanks for any help!