小编Ser*_*lyn的帖子

Laravel:JSON和数据透视表

对于不解释的标题感到抱歉,但我无法想出一个描述性的标题.

我有以下3个表: - 游戏 - 平台 - games_platforms

而且我在Laravel中有2个平台和游戏模型.

public function games() 
{
    return $this->belongsToMany('App\Game', 'games_platforms')->withPivot('release_date');
}

public function platforms() 
{
    return $this->belongsToMany('App\Platform', 'games_platforms')->withPivot('release_date');
}
Run Code Online (Sandbox Code Playgroud)

现在这就像一个魅力,我得到一个JSON字符串,其中包含3个表中的所有信息,就像这样.

[{
    "id": 1,
    "name": "Borderlands",
    "short_description": "",
    "created_at": null,
    "updated_at": null,
    "platforms": [{
        "id": 4,
        "name": "PC",
        "pivot": {
            "game_id": 1,
            "platform_id": 4,
            "release_date": "2016-03-03"
        }
    }]
}]
Run Code Online (Sandbox Code Playgroud)

现在我的问题如下.我不想显示整个'pivot'信息,只是'release_date',如下所示:

"platforms": [{
        "id": 4,
        "name": "PC",
        "release_date": "2016-03-03"
Run Code Online (Sandbox Code Playgroud)

在Laravel有一个简单的方法来做这样的事吗?就我现在所看到的,看看其他帖子,是要么写一个函数将json变成一个数组,然后我可以安排它.或者我可以编写自己的查询,而不是让Laravel完成所有这些.

希望你们能帮我解决这个问题.谢谢!

php json laravel eloquent lumen

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

C#AxWindowsMediaPlayer循环

我有这个恼人的问题,我无法追查它出错的地方.我在代码中创建一个Windows Media Player,我正在尝试循环播放视频......它循环播放,但只播放一次...

所以它播放视频,再一次.然后它就停止并显示视频的结束.所以好像它只循环一次.

这是我的代码:

        try {
            wmPlayer = new AxWMPLib.AxWindowsMediaPlayer();

            wmPlayer.enableContextMenu = false;
            ((System.ComponentModel.ISupportInitialize)(wmPlayer)).BeginInit();
            wmPlayer.Name = "wmPlayer";
            wmPlayer.Enabled = true;
            wmPlayer.Dock = System.Windows.Forms.DockStyle.Fill;
            mainForm.Controls.Add(wmPlayer);
            ((System.ComponentModel.ISupportInitialize)(wmPlayer)).EndInit();
            wmPlayer.uiMode = "none";

            if(kind == "idle") {
                IdleVideo(name);
            }
        }
        catch { }
    }

    private static void IdleVideo(string name) {
        System.Diagnostics.Debug.WriteLine("Video called once");
        wmPlayer.URL = @"C:\ProjectSilver\assets\RadarDetectie\idle\" + name + "_idlescreen_movie.ogv";
        Debug.WriteLine(wmPlayer.URL);
        wmPlayer.settings.setMode("loop", true);

        wmPlayer.Ctlcontrols.play();
    }
Run Code Online (Sandbox Code Playgroud)

所以我希望你们能帮忙,为什么不继续玩呢?

c# loops wmp

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

Laravel 目标类 [App\Http\Controllers\App\Http\Controllers\ApiController] 不存在

由于某种原因,这可能是我的错,Laravel 认为它应该在路径中寻找 ApiController 类:'App\Http\Controllers\App\Http\Controllers',所以......它加倍,但我不知道为什么。

这是一个全新的 Laravel 6 项目,我使用 make:controller artisan 命令创建了 ApiController 并添加了一个函数,如下所示:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ApiController extends Controller
{
    public function base() {
        return 'This is a test function';
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我向 api 路由添加了一条路由,如下所示:

use App\Http\Controllers\ApiController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::group(['prefix' => '/v1', 'as' => 'api'], function () {
    Route::get('/base', ['uses' => ApiController::class . '@base'])->name('base');
});
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我什至“导入”了控制器,但它就是找不到它。就是这样,没有其他文件或对项目进行更改。还尝试清除路由缓存和转储自动加载,但这并没有改变任何东西。

php laravel laravel-routing

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

Laravel/Lumen:选择所有开头

我正在弄清楚如何使用Lumen(一个剥离的Laravel框架)并且有点卡在ORM /查询构建器上.

我有以下功能,目前无法正常工作,并希望它显示所有以字母'b'开头的用户.

public function getUsers()
{ 
    $users = User::where('name', 'b%')->get();
    return response()->json($users);
}
Run Code Online (Sandbox Code Playgroud)

我该如何处理?我已经习惯了简单的SQL,我对这个查询构建器感到困惑.那么如何获取以字母'b'开头的所有用户?

感谢您抽出宝贵时间阅读并希望回答我的问题.

php query-builder laravel eloquent lumen

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

标签 统计

laravel ×3

php ×3

eloquent ×2

lumen ×2

c# ×1

json ×1

laravel-routing ×1

loops ×1

query-builder ×1

wmp ×1