Не можете использовать dd () и var_dump внутри функции в проекте Laravel + Vue?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Не можете использовать dd () и var_dump внутри функции в проекте Laravel + Vue?

Сообщение Anonymous »

Я пытаюсь исправить ошибку при вводе поиска в проекте Vue + Laravel. Если я ищу «стол», все продукты будут отображаться, а также отображаются проекты дизайна интерьера, в которых также отображаются эти столы. Если я ищу «настольный зеленый», в частности, функция возвращает пустой массив продуктов, однако, проекты дизайна интерьера, которые показывают «Desk Green», отображаются нормально, даже если используются те же функции. < /P>
Я использую две основные функции, которые я вставлю ниже. Один находится внутри компонента VUE, и он называется, как только компонент установлен. Эта функция использует Axios для публикации данных для другой функции, которая находится в контроллере. Кажется, что я не могу использовать var_dump () или dd () в функции контроллера, и я не знаю, почему. Я голосный, пытающийся работать в довольно сложном проекте, так что мне это немного сложно. < /P>
Это функция внутри компонента: < /p>
search(){
let search = window.location.href.split('=');

this.searchValue = search[1].replace('%20', ' ');

search = search[1].replace('%20', '+').toLowerCase()

if(localStorage.getItem('userFormData')){
let form = JSON.parse(localStorage.getItem('userFormData'));

if(form.email){

this.emailClient = form.email;
}
}

axios.post('search', {search : search, emailClient : this.emailClient})
.then(response => {

console.log(JSON.parse(JSON.stringify(response.data.products)))

this.products = JSON.parse(JSON.stringify(response.data.products))
this.projects = JSON.parse(JSON.stringify(response.data.projects))
this.ebooks = JSON.parse(JSON.stringify(response.data.ebooks))
this.countProducts = response.data.countProducts
this.countProjects = response.data.countProjects
this.countEbooks = response.data.countEbooks

}).catch(error => {
console.log(error)
})
}
< /code>
Это функция в контроллере: < /p>
public function searchFunction(Request $request)
{
try {

$lang = App::getLocale();
$lang = new LangMiddleware;
$locale = $lang->getLocale();

$search = $request->search;
$search = str_replace('+', ' ', $search);

if(Translations::where('group','LIKE','product%')->where('key','LIKE','%descSeo')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->exists()){
$prodsArrayTrans = Translations::where('group','LIKE','product%')->where('key','LIKE','%descSeo')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->groupBy('group')->get();

foreach($prodsArrayTrans as $key => $trans){
$product = explode('_', $trans->group);

$products = Products::with('categories')->where('id', $product[1])->where('visible', 1)->get();

$dataProducts[$key] = $products->map(function ($products) use ($locale) {
if($products->id_category != 5)
{
$category = 'heritage';
}
else
{
$category = 'graphic-lamps';
}

return [
'id' => $products->id,
'name' => $products->name,
'nameSeo' => trans($products->title_seo),
'video' => $products->video_url,
'category' => $products->categories->category,
'description' => $products->description,
'weight' => $products->weight,
'model' => $products->model,
'dimensions' => $products->dimensions,
'priceWW' => $products->price_ww,
'priceUSA' => $products->price_usa,
'titleSeo' => $products->title_seo,
'descSeo' => trans($products->desc_seo),
'keywordsSeo' => trans($products->keywords_seo),
'bulbs' => $products->bulbs,
'certificate' => (bool)$products->ul_certificate,
'new' => (bool)$products->new,
'contract' => (bool)$products->contract,
'onlineFlag' => (bool)$products->online_flag,
'onlineLink' => $products->online_link,
'image' => $products->thumbnail,
'imageAlt' => $products->thumbnail_alt,
'link' => strtolower($category . '/' . $products->categories->category . '/' . str_replace(' ', '-', $products->name))
];
});

}
}else{
$array = explode(' ', $search);

$translationsArray = [];

foreach ($array as $key => $value) {
if($value != ''){
if(Translations::where('value', 'like', '%'.$value.'%')->exists())
$translationsArray = Translations::where('value', 'like', '%'.$value.'%')->groupBy('group')->get();
}
}

if(count($translationsArray) > 0)
{
foreach ($translationsArray as $key => $trans) {
if(strpos($trans->group, 'product') !== false)
{

$product = explode('_', $trans->group);

$products = Products::with('categories')->where('id', $product[1])->where('visible', 1)->get();

$dataProducts[$key] = $products->map(function ($products) use ($locale) {
if($products->id_category != 5)
{
$category = 'heritage';
}
else
{
$category = 'graphic-lamps';
}

return [
'id' => $products->id,
'name' => $products->name,
'nameSeo' => trans($products->title_seo),
'video' => $products->video_url,
'category' => $products->categories->category,
'description' => $products->description,
'weight' => $products->weight,
'model' => $products->model,
'dimensions' => $products->dimensions,
'priceWW' => $products->price_ww,
'priceUSA' => $products->price_usa,
'titleSeo' => $products->title_seo,
'descSeo' => trans($products->desc_seo),
'keywordsSeo' => trans($products->keywords_seo),
'bulbs' => $products->bulbs,
'certificate' => (bool)$products->ul_certificate,
'new' => (bool)$products->new,
'contract' => (bool)$products->contract,
'onlineFlag' => (bool)$products->online_flag,
'onlineLink' => $products->online_link,
'image' => $products->thumbnail,
'imageAlt' => $products->thumbnail_alt,
'link' => strtolower($category . '/' . $products->categories->category . '/' . str_replace(' ', '-', $products->name))
];
});

}else{
$dataProducts = [];
}
}
}else{

$dataProducts = [];
}
}

if(Translations::where('group','LIKE','project%')->where('key','LIKE','%details')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->exists()){
$projectsArrayTrans = Translations::where('group','LIKE','project%')->where('key','LIKE','%details')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->groupBy('group')->get();
foreach($projectsArrayTrans as $key => $trans){
$project = explode('_', $trans->group);

$projects = Projects::where('id', $project[1])->get();

$dataProjects[$key] = $projects->map(function ($projects) {
return [
'id' => $projects->id,
'name' => $projects->name,
'image' => $projects->cover,
'imageAlt' => trans($projects->cover_alt),
'preview' => trans($projects->details_preview),
'title' => trans($projects->name),
'subTitle' => trans($projects->subTitle)
];
});
}
}else{
$array = explode(' ', $search);

$translationsArray = [];

foreach ($array as $key => $value) {
if($value != ''){
if(Translations::where('value', 'like', '%'.$value.'%')->exists())
$translationsArray = Translations::where('value', 'like', '%'.$value.'%')->groupBy('group')->get();
}
}

if(count($translationsArray) > 0)
{
foreach ($translationsArray as $key => $trans) {
if(strpos($trans->group, 'project') !== false)
{
$project = explode('_', $trans->group);

$projects = Projects::where('id', $project[1])->get();

$dataProjects[$key] = $projects->map(function ($projects) {
return [
'id' => $projects->id,
'name' => $projects->name,
'image' => $projects->cover,
'imageAlt' => trans($projects->cover_alt),
'preview' => trans($projects->details_preview),
'title' => trans($projects->name),
'subTitle' => trans($projects->subTitle)
];
});

}else{
$dataProjects = [];
}
}
}else{

$dataProjects = [];
}
}

if(Translations::where('group','LIKE','ebook%')->where('key','LIKE','%details')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->exists()){
$ebooksArrayTrans = Translations::where('group','LIKE','ebook%')->where('key','LIKE','%details')->where('value', 'like', '%'.$search.'%')->where('locale', $locale)->groupBy('group')->get();
foreach($ebooksArrayTrans as $key => $trans){
$ebook = explode('_', $trans->group);

$ebooks = Ebooks::where('id', $ebook[1])->get();

$dataEbooks[$key] = $ebooks->map(function($ebooks)use ($locale){
return [
'id' => $ebooks->id,
'name' => trans($ebooks->name),
'details' => trans($ebooks->details),
'image' => trans($ebooks->img),
'imageAlt' => trans($ebooks->alt)
];
});
}
}else{
$array = explode(' ', $search);

$translationsArray = [];

foreach ($array as $key => $value) {
if($value != ''){
if(Translations::where('value', 'like', '%'.$value.'%')->exists())
$translationsArray = Translations::where('value', 'like', '%'.$value.'%')->groupBy('group')->get();
}
}

if(count($translationsArray) > 0)
{
foreach ($translationsArray as $key => $trans) {

if(strpos($trans->group, 'ebook') !== false)
{

$ebook = explode('_', $trans->group);

$ebooks = Ebooks::where('id', $ebook[1])->get();

$dataEbooks[$key] = $ebooks->map(function($ebooks)use ($locale){
return [
'id' => $ebooks->id,
'name' => trans($ebooks->name),
'details' => trans($ebooks->details),
'image' => trans($ebooks->img),
'imageAlt' => trans($ebooks->alt)
];
});

}else{
$dataEbooks = [];
}
}
}else{
$dataEbooks = [];
}

}

$countProducts = count($dataProducts);
$countProjects = count($dataProjects);
$countEbooks = count($dataEbooks);

if($countProducts > 0){
$flagProducts = 1;
}else{
$flagProducts = 0;
}

if($countProjects > 0){
$flagProjects = 1;
}else{
$flagProjects = 0;
}

if($countEbooks > 0){
$flagEbooks = 1;
}else{
$flagEbooks = 0;
}

$keywords = new SearchKeyword;
$keywords->email = $request->emailClient;
$keywords->locale = $locale;
$keywords->keyword = $search;
$keywords->products_results = $flagProducts;
$keywords->projects_results = $flagProjects;
$keywords->ebooks_results = $flagEbooks;
$keywords->save();

return response()->json([
'products' => $dataProducts,
'projects' => $dataProjects,
'ebooks' => $dataEbooks,
'countProducts' => $countProducts,
'countProjects' => $countProjects,
'countEbooks' => $countEbooks,
]);

} catch (Exception $e) {
return response()->json($e->getMessage(), 500);
}
}


Подробнее здесь: https://stackoverflow.com/questions/689 ... ue-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»