首先,我使用Laravel Scout的scout-elasticsearch-driver:https : //github.com/babenkoivan/scout-elasticsearch-driver
我逐步遵循了自述文件,创建索引,迁移索引,配置映射并User::search()->get()返回空数组的步骤。
显然,我的数据库已迁移并填充。
我想通过以下方式搜索用户:
所以我创建了一个IndexConfigurator:
class UserIndexConfigurator extends IndexConfigurator
{
use Migratable;
/**
* @var array
*/
protected $settings = [
//
];
}
Run Code Online (Sandbox Code Playgroud)
创建了一个SearchRule:
class UserSearchRule extends SearchRule
{
public function buildQueryPayload()
{
$query = $this->builder->query;
return [
'should' => [
[
'match' => [
'first_name' => [
'query' => $query
]
]
],
[
'match' => [
'last_name' => [
'query' …Run Code Online (Sandbox Code Playgroud) 为什么旋转应用于我的图片?
尺寸如下:
Object {
13:06:33 [exp] "height": 3264,
13:06:33 [exp] "uri": "file:///var/mobile/Containers/Data/Application/8196F3EA-3555-476F-B70F-E76CBBFBB3F8/Library/Caches/ExponentExperienceData/%2540devlyl%252Flyl/Camera/5FA1D6E2-D99E-4675-AF6E-CB96A2367015.jpg",
13:06:33 [exp] "width": 1836,
13:06:33 [exp] }
Run Code Online (Sandbox Code Playgroud)
相机拍照结果:https : //imgur.com/a/I152DXU
与 GLImage 一起显示:https ://imgur.com/a/PL7EumH
相关github问题:https : //github.com/gre/gl-react-image/issues/22
编辑1:
我找到了使用react-native-gl制作 intagram 过滤器的相关教程:
如果选中复选框,我试图获取:
在我看来 :
<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
<div class="checkbox checkbox-success">
<input name="test" id="test" type="checkbox" value="test">
<label for="test" style="padding-left: 15px!important;">test</label>
</div>
</form>
<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
{{ csrf_field() }}
<div class="form-group pull-right">
<button type="submit" class="btn btn-danger">Submit</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
public function createRole(Request $request)
{
if( $request->has('test')) {
new \App\Debug\Firephp('test', ['test' => true]);
}
}
Run Code Online (Sandbox Code Playgroud)
在web.php中:
Route::post('/admin/role/add', 'AdminController@createRole')
Run Code Online (Sandbox Code Playgroud)
但不起作用.
我该怎么办?
谢谢你的答复.
编辑1:
这是我的形式很差的建设
我尝试将 T4 模板编译为 ac# 文件。
我从微软尝试过:在构建过程中调用文本转换
通过添加我的 .csproj 文件:
<Import Project="TextTemplating\Microsoft.TextTemplating.targets" />
<PropertyGroup>
<TransformOnBuild>true</TransformOnBuild>
<OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
<TransformOutOfDateOnly>false</TransformOutOfDateOnly>
</PropertyGroup>
<ItemGroup>
<T4ParameterValues Include="ProjectDir">
<Value>$(ProjectDir)</Value>
<Visible>false</Visible>
</T4ParameterValues>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
TextTemplating是包含我的编辑器中的 TextTemplated 文件的目录,位于:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\msbuild\Microsoft\VisualStudio\v16.0\TextTemplated
基本模板(名为 ModelTemplate.tt):
<#@ template language="C#" #>
<#@ parameter name="ClassName" type="System.String"#>
<#@ parameter name="Namespace" type="System.String"#>
namespace <#= Namespace #>
{
public class <#= ClassName #>
{
}
}
Run Code Online (Sandbox Code Playgroud)
最后是用于测试ModelTemplate.tt 的模板(名为 ModelTemplateTest.tt):
<#@ template debug="false" language="C#" #>
<#@ output extension=".cs" #>
<#
_ClassNameField = …Run Code Online (Sandbox Code Playgroud) 我需要重写上面提到的方法来跳过一些数据库记录。使用where不是一个选项,因为我每次都必须使用它,因为数据库中有一些我大部分时间不需要的记录,并且不允许我从数据库中删除它们。这是我这样做的尝试:
class SomeTable extends BaseModel {
public static function first() {
$query = static::query();
$data = $query->first();
if($data && $data->type == 'migration_type') return null;
return $data;
}
public static function get() {
$query = static::query();
$data = $query->get();
foreach($data as $key => $item) {
if($item->type == 'migration_type') unset($data[$key]);
}
return $data;
}
}
Run Code Online (Sandbox Code Playgroud)
该代码的问题在于它仅在直接调用模型时才有效。如果我使用一些其他函数,例如where, beforeget或first方法,它只会跳过我覆盖的方法。执行此操作的正确方法是什么?我应该将此代码放入模型中吗?
我的问题不重复,正如上述问题的答案所示:
从扩展您的 CustomModel 的模型发出的所有查询都将获得这个新方法
我需要仅针对特定模型覆盖这两个函数,而不是针对应用程序中的每个函数,因为并非所有表都有type列。这就是我在模型类中编写它们的原因。
我想在多线程上下文中使用std::osyncstream和std::cout而不需要每次都写:
std::osyncstream(std::cout) << "my message" << std:endl;
Run Code Online (Sandbox Code Playgroud)
我想要达到的目标:
streams::synced_cout << "my message" << std:endl;
Run Code Online (Sandbox Code Playgroud)
我做了什么:
namespace streams {
class _synced_cout {
private:
std::osyncstream synced_cout_stream = std::osyncstream(std::cout);
public:
template <class T>
std::osyncstream &&operator<<(const T& value) {
synced_cout_stream << value;
return std::move(synced_cout_stream);
}
};
inline static _synced_cout synced_cout = _synced_cout();
}
Run Code Online (Sandbox Code Playgroud)
但是什么都没有显示,我有什么想念的?或者是否存在更简单的解决方案?