我正在用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) 我正在尝试使用流明开发一个休息api.对于身份验证我使用的是Dingo和JWTAuth api,但是我收到以下消息:
未定义Auth防护驱动程序[api].
下面是Postman的消息截图,包括stacktrace.
我是MVC 3,剃刀视图引擎的新手.我想根据viewmodel中的值在运行时设置文本框的可见性.
但是下面的代码不起作用.
<td>
@Html.TextBox("CompanyName", "", new { visible = "false" })
</td>
Run Code Online (Sandbox Code Playgroud)
一旦上面的代码开始工作,我可以代替@Model.EnableCompanyName硬编码"假".
所以请帮我纠正上面的代码.
我一直在学习使用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内部工作的理解,我被卡住了,我不明白这个问题,根据文档我没有看到我的代码有什么问题,这看起来就像这么简单的一步.我想要做的就是从数据库中检索信息,发生了什么?
在此先感谢您的帮助!
我的设置:
我的问题:
如果I vagrant ssh,然后share domfit.test得到您所期望的随机生成的ngrok URL(http://whatever.ngrok.io),但是当我访问该URL时,我所有的资源/路由都以http://domfit.test/(http:// domfit .test / login)
我尝试了以下方法:
php artisan config:clearphp 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_URL为ngrok:
在我的整个代码库中搜索domfit.test,并且似乎只有一些随机会话文件具有引用:
代码/ domfit /存储/框架/会话/ …
我没有找到关于如何在Lumen 5.2中设置默认时区的任何相关信息(仅限技巧).有没有干净的方法来做到这一点?
我在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 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文件.
根本无法让Lumen身份验证工作.
我有一个全新的安装,并尝试按照这里的文档:
https://lumen.laravel.com/docs/5.2/authentication
我已取消注释文件中的AuthProvider行app.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)
有任何想法吗?
编辑:
因为有人要求提供代码示例.
把它放在路线中:
$ app-> get('/ api/v1/users/{id}',function(){dd(\ Auth :: user());});
我正在使用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 ×8
php ×5
lumen ×4
laravel-5 ×3
lumen-5.2 ×3
asp.net-mvc ×1
composer-php ×1
dingo-api ×1
eloquent ×1
homestead ×1
jwt ×1
laravel-5.2 ×1
laravel-5.6 ×1
ngrok ×1