对于不解释的标题感到抱歉,但我无法想出一个描述性的标题.
我有以下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完成所有这些.
希望你们能帮我解决这个问题.谢谢!
我有这个恼人的问题,我无法追查它出错的地方.我在代码中创建一个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)
所以我希望你们能帮忙,为什么不继续玩呢?
由于某种原因,这可能是我的错,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)
正如您所看到的,我什至“导入”了控制器,但它就是找不到它。就是这样,没有其他文件或对项目进行更改。还尝试清除路由缓存和转储自动加载,但这并没有改变任何东西。
我正在弄清楚如何使用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'开头的所有用户?
感谢您抽出宝贵时间阅读并希望回答我的问题.