小编pat*_*cus的帖子

Laravel查询构建器返回对象或数组?

我正在用Laravel构建一个非常简单的Web应用程序.

我已经构建了两个独立的控制器,每个控制器返回两个单独的视图,如下所示:

ProfileController可:

class ProfileController extends BaseController {

    public function user($name)
    {
        $user = User::where('name', '=', $name);

        if ($user->count())
        {
            $user = $user->first();
            $workout = DB::table('workouts')->where('user_id', '=', $user->id)->get();

            Return View::make('profile')
                    ->with('user', $user)
                    ->with('workout', $workout);
        }

        return App::abort(404);
    }
}
Run Code Online (Sandbox Code Playgroud)

WorkoutController:

class WorkoutController extends BaseController {

    public function workout($name)
    {
        $workout = DB::table('workouts')->where('name', '=', $name)->first();

        if ($workout)
        {
            Return View::make('add-exercise')
                    ->with('workout', $workout);
        }

        return App::abort(404);
    }
}
Run Code Online (Sandbox Code Playgroud)

令我困惑的是我为了将单个workout对象传递给每个视图而必须做的事情.您可能已经注意到查询构建器workout是不同的:

$workout = DB::table('workouts')->where('user_id', '=', $user->id)->get();
Run Code Online (Sandbox Code Playgroud)

$workout = DB::table('workouts')->where('name', …
Run Code Online (Sandbox Code Playgroud)

php query-builder laravel eloquent

8
推荐指数
1
解决办法
2万
查看次数

未定义Auth防护驱动程序[api].Lumen,Dingo,JWTAuth

我正在尝试使用流明开发一个休息api.对于身份验证我使用的是Dingo和JWTAuth api,但是我收到以下消息:

未定义Auth防护驱动程序[api].

下面是Postman的消息截图,包括stacktrace.

邮差错误的截图

jwt dingo-api lumen

8
推荐指数
1
解决办法
5897
查看次数

在MVC3 Razor视图引擎中设置文本框的可见性

我是MVC 3,剃刀视图引擎的新手.我想根据viewmodel中的值在运行时设置文本框的可见性.

但是下面的代码不起作用.

<td>
    @Html.TextBox("CompanyName", "", new { visible = "false" })
</td>
Run Code Online (Sandbox Code Playgroud)

一旦上面的代码开始工作,我可以代替@Model.EnableCompanyName硬编码"假".

所以请帮我纠正上面的代码.

asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

7
推荐指数
2
解决办法
5万
查看次数

无法使用Illuminate\Routing\Controller作为Controller,因为该名称已被使用

我一直在学习使用Laravel,观看Larcast并使用Docs,我遇到了一个Eloquent被描述的课程,但我遇到了错误:

at HandleExceptions->fatalExceptionFromError(
  array(
    'type' => '64',
    'message' => 'Cannot use Illuminate\Routing\Controller as Controller because the name is already in use'
  )
)
Run Code Online (Sandbox Code Playgroud)

我很困惑,现在已经复制了提供的示例,但我仍然得到错误.我正在使用Laravel 5,因此我不知道是否存在一些无证的更改或者我是否只是做错了什么.我没有找到解决问题的谷歌搜索中的任何相关内容,所以我希望有人可以提供帮助.以下是产生错误的代码:

<?php namespace App\Http\Controllers;

use Illuminate\Routing\Controller;

use App\VarName;

class VarController extends Controller {

    public function Var()
    {
        $Variable = VarName::get();

        dd($Variable);
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该工作,并且在我观看的视频中,它确实有用..我错过了什么?

我尝试删除Controller类,因为它似乎是导致已经使用的错误,它破坏了一切,重新安装并尝试使用Controller,因为它扩展了雄辩的模型,但现在它说:

Pluralizer.php第258行中的ErrorException:call_user_func()期望参数1是有效的回调,mb_strtolower找不到函数或函数名无效

这超出了我对Laravel内部工作的理解,我被卡住了,我不明白这个问题,根据文档我没有看到我的代码有什么问题,这看起来就像这么简单的一步.我想要做的就是从数据库中检索信息,发生了什么?

在此先感谢您的帮助!

php laravel laravel-5

7
推荐指数
1
解决办法
2万
查看次数

Laravel和Ngrok:URL域对于路由和资产不正确

我的设置:

  • 在Mac OSX上配置了多个站点的Homestead
  • 我有一个使用domfit.test作为本地域的站点设置(使用hostsupdater自动映射)

我的问题:

如果I vagrant ssh,然后share domfit.test得到您所期望的随机生成的ngrok URL(http://whatever.ngrok.io),但是当我访问该URL时,我所有的资源/路由都以http://domfit.test/http:// domfit .test / login

我尝试了以下方法:

  • 将APP_URL设置为ngrok URL
  • php artisan config:clear
  • php artisan cache:clear
  • {{ url('login') }}
  • {{ route('login') }}

我的理解是url()应该返回浏览器请求的实际URL(而不是使用APP_URL),但始终返回domfit.test

如果我在我的重新命名的网站Homestead.yaml(例如到newdomfit.test),并重新规定,那么这是该域url()route()用途的,不管我的APP_URL。因此,Homestead.yaml似乎正在强迫该领域。哪个提出了问题-您实际上打算如何使用共享功能?

我是Laravel的新手,所以我不确定是否所有这些都是预期的行为,并且我误会了什么?

我只希望模板中的链接和资源可用于本地(domfit.test),共享(ngrok)以及最终使用同一段代码进行生产。我担心的是,当我尝试将该网站上线时,我将不得不更改所有我的信息route()url()参考。

在下面编辑

好的,我只是再试一次。更改APP_URLngrok

在我的整个代码库中搜索domfit.test,并且似乎只有一些随机会话文件具有引用:

代码/ domfit /存储/框架/会话/ …

laravel ngrok laravel-5 homestead vagrant-share

7
推荐指数
2
解决办法
1713
查看次数

如何在流明5.2中设置时区?

我没有找到关于如何在Lumen 5.2中设置默认时区的任何相关信息(仅限技巧).有没有干净的方法来做到这一点?

php laravel lumen lumen-5.2

6
推荐指数
4
解决办法
9324
查看次数

Laravel安装程序继续安装5.5而不是5.6

我在Windows 10上安装了php 7.2.2/apache 2.4和mysql-5.7.

我想安装laravel 5.6

第一:

1.  composer clear-cache
2.  composer update
3.  composer global require "laravel/installer"
Run Code Online (Sandbox Code Playgroud)

php -v:

PHP 7.2.2 (cli) (built: Jan 31 2018 19:31:17) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

Laravel Installer 2.0.1

我试试这个(根据laravel doc 5.6):

composer create-project --prefer-dist laravel/laravel blog
Run Code Online (Sandbox Code Playgroud)

但是它安装了laravel 5.5.28

为什么作曲家会继续安装laravel 5.5?

laravel composer-php laravel-5.6

6
推荐指数
1
解决办法
5193
查看次数

Laravel 5.2通过API进行身份验证

我正在使用Laravel 5.2开发RESTful API.在位于\Illuminate\Auth\TokenGuard\TokenGuard.php第46行的令牌防护中,令牌的列名定义为api_token:

$this->storageKey = 'api_token';
Run Code Online (Sandbox Code Playgroud)

我想将此列名更改为其他名称,例如api_key.

我怎样才能做到这一点?我不想修改核心TokenGuard.php文件.

php authentication laravel laravel-5 laravel-5.2

5
推荐指数
1
解决办法
3239
查看次数

流明认证

根本无法让Lumen身份验证工作.

我有一个全新的安装,并尝试按照这里的文档:

https://lumen.laravel.com/docs/5.2/authentication

我已取消注释文件中的AuthProviderapp.php(以及其他所有内容,外观等).然后在一个简单的控制器中我就做了dd(Auth::use()).

我无法绕过这个错误:

Undefined index: provider
in AuthManager.php line 152
at Application->Laravel\Lumen\Concerns\{closure}('8', 'Undefined index: provider', '/home/vagrant/Code/gryd/api.gryd.com/vendor/illuminate/auth/AuthManager.php', '152', array('name' => 'api', 'config' => array('driver' => 'token'))) in AuthManager.php line 152
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:

因为有人要求提供代码示例.

  1. 安装流明
  2. 取消注释app.php中的所有内容
  3. 把它放在路线中:

    $ app-> get('/ api/v1/users/{id}',function(){dd(\ Auth :: user());});

php laravel lumen lumen-5.2

5
推荐指数
2
解决办法
1万
查看次数

目标[Laravel\Socialite\Contracts\Factory]不可实例化

我正在使用laravel流明5.2.

目标[Laravel\Socialite\Contracts\Factory]不可实例化.

当我试图让Laravel使用Socialite包登录Twitter时,我遇到了这个错误.

已完成的工作:

A)在config\app.php中1.Laravel\Socialite\SocialiteServiceProvider :: class 2.'Socialite'=> Laravel\Socialite\Facades\Socialite :: class

我跟着这个:http: //goodheads.io/2015/08/24/using-twitter-authentication-for-login-in-laravel-5/

laravel laravel-socialite lumen lumen-5.2

5
推荐指数
2
解决办法
3894
查看次数