entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

problemas con Modelos y relaciones en laravel

Mi problema es el siguiente, tengo declarada las relaciones hasMany y belongsTo en mi Modelo "Traspaso". A la hora de buscar los Items de producto con belongsTo me los muestra,
hasta ahí ningun problema, pero luego quiero acceder a la información dela bodega que realizo el traspaso , creo la relación belongsTo y me da error.
No se si estoy declarando mal la relación o si estoy tratando de acceder mal a la información que me retorna. Si alguien me puede ayudar se lo agradeceria mucho, estoy aprendiendo hace muy poco laravel.
Si me ayudan y orientan con ejemplos de como trabajar con las relaciones y como acceder a la información que estos retornan se los agradeceria muchisimo!

este es el error

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'almacen.traspaso_id' in 'where clause' (SQL: select * from `almacen` where `almacen`.`traspaso_id` = 1 and `almacen`.`traspaso_id` is not null) (View: C:\xampp\htdocs\tienda-master\resources\views\traspaso\index.blade.php)

este es mi modelo "traspaso"

class Traspaso extends Model
{
    protected $table = 'traspaso';

    protected $fillable = ['fecha', 'origen_id', 'destino_id', 'folio', 'cantidad', 'product_id'];
    public $timestamps = false;    

     public function bodega()
    {
        return $this->hasMany('App\Bodega');
    }

     public function product()
    {
        return $this->belongsTo('App\Product');
    }

}

este es modelo "Bodega"

use Illuminate\Database\Eloquent\Model;

class Bodega extends Model
{
   protected $table = 'almacen';

    protected $fillable = ['nombre', 'direccion', 'localidad','estado', 'ciudad', 'encargado'];
        public $timestamps = false;  
    //
         public function traspaso()
    {
        return $this->belongsTo('App\Traspaso');
    }
}

este es mi controlador "traspasoController"

class traspasoController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $traspasos = Traspaso::all();
        $producto = Product::orderBy('id', 'desc')->lists('cve_art','id');
        $bodega = Bodega::orderBy('id', 'desc')->lists('nombre','id');
        // 
        return view ('traspaso.index', compact('traspasos','bodega','producto'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        $traspasos = Traspaso::all();
        $producto = Product::orderBy('id', 'desc')->lists('cve_art','id');
        $bodega = Bodega::orderBy('id', 'desc')->lists('nombre','id');
        return view('traspaso.create', compact('traspasos','bodega','producto'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $data = [

            'fecha'      => $request->get('fecha'),
            'origen_id'    => $request->get('origen_id'),
            'destino_id'    => $request->get('destino_id'),
            'folio'      => $request->get('folio') ,
            'cantidad'   => $request->get('cantidad'),
            'product_id'   => $request->get('product_id')         

        ];

        $traspaso = Traspaso::create($data);

        $message = $traspaso ? 'Garantia realizada correctamente!' : 'La Garantia NO pudo agregarse!';

       return redirect()->route('traspaso.index')->with('message', $message);
    }

aqui hago la consulta de los datos

                               <tr>
                                <td>{{$traspaso->fecha}}</td>
                                <td>{{$traspaso->bodega->nombre}}</td>
                                <td>{{$traspaso->bodega->estado}}</td>
                                <td>{{$traspaso->folio}}</td>
                                <td>{{$traspaso->cantidad}}</td>
                                <td>{{$traspaso->product->cve_art}}</td>
                            <td>

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta