小编Lae*_*rte的帖子

PHP变量未传递到具有功能的地方-Laravel Eloquent

简介:我无法在whereHas函数(如下)中访问$ domain变量;Laravel返回以下错误:

“未定义的变量:域”

我之所以加入我的人际关系,是因为我不确定雄辩的性质以及我如何尝试调用此查询是否会引起问题。


我有一个称为模型(Org)的中间件

组织模型有字段

子域

组织模型有

public function domains()
{
    return $this->hasMany('App\Domain');
}
Run Code Online (Sandbox Code Playgroud)

模型(表名域)具有字段

域,org_id

也有功能

public function org()
{
    return $this->belongsTo('App\Org');
}
Run Code Online (Sandbox Code Playgroud)

我可以dd($domain); 在此功能之前没有任何问题。但是,我正在

“未定义的变量:域”

下面的whereHas函数中的查询参数。

laravel为什么看不到上面设置的变量?

namespace App\Http\Middleware;
use Closure;
class DomainLookup
{

    protected $org;

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $route = $request->route();
        $domain = $route->parameter('domain');
        $trimmed_domain = trim($domain, (config('app.domain')));

        $this->org = \App\Org::where('subdomain',$trimmed_domain) …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5

3
推荐指数
1
解决办法
1049
查看次数

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

Handler.php第103行中的Laravel 5.2 NotFoundHttpException

当我添加基本路线(foo)时会发生这种情况.其余路线按预期工作.这会生成NotFoundHttpException和ModelNotFoundException.

应用程序/ HTTP/routes.php文件:

Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::get('/{workorder}','WosController@show');
Route::post('/create','WosController@store');

Route::get('/', function () {
    return view('welcome');
});

Route::get('/foo', function () {
    return view('foo');
});
Run Code Online (Sandbox Code Playgroud)

应用程序/资源/视图/ foo.blade.php:

<p>foo</p>
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

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

在Laravel中将eloquent结果转换为关联数组

如何将结果从eloquent转换为关联数组.我需要选择拖曳列,并将一个作为键,另一个作为值.这是我得到的壁橱,但值是一个数组.我希望它只是"my_value"列.

$array = Post::select('my_key','my_value')->get()->keyBy('my_key')
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.3

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

如何确定文件存在于 Laravel 5.2 的公共目录中

我在 public/image 目录中有一些图像文件,所以我想在保存新文件之前确定该目录中是否存在文件。如何判断文件是否存在?

laravel laravel-5.2

1
推荐指数
3
解决办法
8815
查看次数

将参数从表单传递到Controller Laravel

我试图了解如何通过Laravel中的URL传递参数。

就我而言,我有一个主页(/)(HomeController @ get__home并查看主页),其中包含从数据库表获取的n个数据。用户可以选择其中一个并转到下一页。

第二个url页面是/ {从首页的参数} /登录

{首页的参数}字段来自(当然)首页,并取决于选择的记录。

我已经读过这篇文章,但是我认为我不建议这样做。

我找不到将参数传递给url的方法。

在我的Route.php中:

Route::get("/", "HomeController@home");
Route::get("/{position}/login", "LoginController@login");
Run Code Online (Sandbox Code Playgroud)

在控制器中:

class HomeController extends Controller
{
    public function home(){

      $foos = Foo::all();

      return view('home')->with('foos',$foos);
    }
}

class LoginController extends Controller
{
  public function login(Foo $foo)
  {
    return view('login');
  }
}
Run Code Online (Sandbox Code Playgroud)

并在home.blade.php中

<form class="" action="{{action(LoginController@login)}}" method="post">
...
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

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

如何从数据透视表中获取额外的字段 - laravel

我为 laravel 创建了一个 Pivot 模型和表,并为 Pivot 模型添加了额外的字段。但是在调用数据透视表时不会显示额外的字段。

我有一个客户模型和标签模型。一个名为 CustomerTag 的数据透视表使用标签创建了一个用户,并使用

$user = User::create([
     'name' => 'User 1'
]);
$tag = 1;

$user->tags()->attach($tag, ['priority' => 1]);
Run Code Online (Sandbox Code Playgroud)

但是当我调用结果时

$use = User::find($id);
dd($user->tags->pivot);
Run Code Online (Sandbox Code Playgroud)

结果没有priority字段。

php laravel laravel-5 laravel-eloquent

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

Laravel 5.5 BelongsToMany返回空

我正在尝试使用belongsToMany关系,我从来没有遇到任何问题,但由于某种原因它返回空.

我在Store模型中建立了我的关系,如下所示:

    public function images()
    {
        return $this->belongsToMany('App\Images', 'images_stores', 'image_id', 'store_id');
    }
Run Code Online (Sandbox Code Playgroud)

当我测试关系时,它只返回一个空集合没有错误,尽管它不是.这是我访问数据的方式:

    public function edit($id)
    {
        $store = Store::find($id);
        dd($store->images);

        return view('admin.pages.store.edit', compact('store'));
    }
Run Code Online (Sandbox Code Playgroud)

但它只会返回一个空集合,我希望有人可以帮我解决这个问题.这些是我的迁移文件,但我认为问题不在迁移文件中.

    Schema::create('images', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('path');
        $table->timestamps();
    });
    // pivot table
    Schema::create('images_stores', function (Blueprint $table) {
        $table->increments('id');

        $table->integer('image_id')->unsigned()->nullable();
        $table->foreign('image_id')->references('id')->on('images')->onDelete('cascade');

        $table->integer('store_id')->unsigned()->nullable();
        $table->foreign('store_id')->references('id')->on('stores')->onDelete('cascade');

        $table->timestamps();
    });
    // store table
    Schema::create('stores', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('location');
        $table->string('email');
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

多谢你们.

php laravel eloquent laravel-5 laravel-5.5

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

为什么 DateTime() 在 Laravel 中不起作用?

我有来自日期选择器的时间,如下所示:2017-12-10T14:40:18.492Z。我尝试在 Laravel 中使用下面的代码将其转换为 MySQL 日期格式,但它抛出错误说 (1/1) FatalThrowableError Class 'iirs_demo\Http\Controllers\DateTime' not found

<?php $date = new DateTime('2000-01-01'); echo $date->format('Y-m-d H:i:s'); ?>
Run Code Online (Sandbox Code Playgroud)

请问,我该如何解决?

谢谢。

php mysql datetime datepicker laravel

0
推荐指数
1
解决办法
6236
查看次数

如何在 Laravel 中编写 sql 'like' 语句?

您将如何以 Laravel 风格编写以下查询?

SELECT * FROM `job_details` WHERE `job_title` LIKE '%officer%' AND `category_id` = 1 AND `city_id` = 1
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法,但它不起作用:

DB::(job_details)->where(job_title LIKE '%officer%')->and(category_id=1)->and(city_id=1)
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-query-builder

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