小编use*_*991的帖子

Laravel 4.1:如何分散雄辩的热切关系?

有关旧的L3渴望加载的分页的问题,而不是使用雄辩的.但我想利用雄辩来获得与分页的热切关系.

主要型号:主题有一个与许多关系的帖子,这样一个主题有很多帖子.我用这个函数获取所有数据:

public function findById($id)
{
    return $this->topic->with('posts', 'posts.user', 'posts.user.profile')
                       ->find($id);
}
Run Code Online (Sandbox Code Playgroud)

后来我创建循环来显示所有结果,但它们不是分页的:

@foreach($topic->posts as $post)
... unpaginated content ...
@endforeach
Run Code Online (Sandbox Code Playgroud)

所以,我可以做一个解决方法并单独选择所有具有$ id主题的帖子并使用 - > paginate()而不是 - > get()并且会得到分页$ pot,

  1. 但是有可能使用分页的热切加载的关系帖子吗?怎么办呢?

php pagination laravel eloquent

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

Laravel:捕获所有没有/ api/segment的路由

我需要捕获所有路由,除了那些有/ api/segment的路由.我知道如何捕捉每条路线

Route::any('{all}', 'AngularController@serveFrontend')->where('all', '(.*)');
Run Code Online (Sandbox Code Playgroud)

但是我需要更改什么才能使我的api路由不被此字符串捕获?

regex laravel

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

Laravel 4一个界面同时具有多个实现

问题是我不知道如何绑定一个接口的多个实现.

例:

// One interface
interface SmsInterface {
...
}

// First implementation using SmsCoin
class SmscoinAPI implements SmsInterface {
...
}


// Second implementation using Fortumo
class FortumoAPI implements SmsInterface {
...
}
Run Code Online (Sandbox Code Playgroud)

//两个控制器:

class SmsCoinController {
    public function __construct(SmsInterface $sms) {
        $this->sms = $sms
    }
}

class FortumoController {
    public function __construct(SmsInterface $sms) {
        $this->sms = $sms
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 问题:我如何使用FortumoController实现FortumoApi绑定SmsInterface,并将SmsInterface绑定到SmsCoinController的实现SmsCoinApi?

  2. 我使用ServiceProvider来注册绑定,我可以在那里做吗?如果没有绑定的位置?

编辑:

我无法在任何地方得到答案,阅读许多laravel书籍,据说在任何地方使用多个实现,但没有显示如何交换/切换这些实现.

如果我有一个接口和两个实现,如何在控制器中绑定和交换它们.我是否需要在该控制器构造函数方法中执行此操作?或通过检查控制器的路线或在filters.php的路线?还是在服务提供商?以及如何在技术上相关地编写该代码?

php interface laravel

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

angular-ui-select使用bootstrap form-inline打破

有几个关于使内联形式标签与angular-ui-select内联的线程,我已设法将该标签内联,但仍然看起来像angular-ui-select宽度在form-inline中被破坏.

我创建了Plnkr来证明这一点.我添加了css代码

.form-inline .ui-select-container .ui-select-toggle,
.form-inline .ui-select-container .ui-select-search {
    width: 100%;
}

.form-inline .ui-select-container {
    display: inline-block;
    vertical-align: middle;
    width: auto;
}
Run Code Online (Sandbox Code Playgroud)

因此,标签与选择框内联,但是选择的输入宽度不同,如果按下选择框,则选择与输入波纹相同宽度的扩展.

问题是,如何使角度-ui选择与输入波纹相同的宽度,因此激活它时,选择框上没有收缩/扩展效果.

我将添加截图,显示它现在的行为:

选择处于非活动状态

选择处于非活动状态

选择处于活动状态

在此输入图像描述

正如您所看到的,元素宽度在点击时会发生变化,但如何使其与输入波纹相同,因为输入波纹是动态的宽度?

html javascript css jquery angularjs

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

测试具有模型作为依赖关系的laravel存储库

问题是我无法测试一个函数,因为它触及了同一个存储库的其他函数.

  1. 我是否需要与同一存储库中的其他函数隔离测试一个函数,或者一个函数可以访问同一个存储库中的其他函数是正常的吗?
  2. 如果函数需要与其他函数分开测试,那么它是如何完成的,因为我不明白我如何模拟我正在工作的存储库.我理解如何模拟依赖项,但如何在同一个存储库中模拟其他函数?
  3. 我是否在测试中的setUp方法中正确地模拟了模型?

码:

真实世界绑定和存储库:

// Bind User repository interface
$app->bind('MyApp\Repositories\User\UserInterface', function () {
    return new EloquentUser(new User);
});
Run Code Online (Sandbox Code Playgroud)

EloquentUser.php:

public function __construct(Model $user)
{
    $this->user = $user;
}

public function findById($id)
{
    return $this->user->find($id);
}

public function replace($data)
{
    $user = $this->findById($data['user']['id']);

    // If user not exists, create new one with defined values.
    if ( ! $user) {
        return $this->create($data);
    } else {
        return $this->update($data);
    }
}

public function create($data)
{
    $user = $this->user->create($data['user']);

    if ($user) {

        return …
Run Code Online (Sandbox Code Playgroud)

php unit-testing laravel mockery

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